Début de généralisation du code pour les différents types de souscriptions.
authorOlivier Tétard <olivier.tetard@miskin.fr>
Wed, 13 Mar 2013 13:14:42 +0000 (14:14 +0100)
committerOlivier Tétard <olivier.tetard@miskin.fr>
Wed, 13 Mar 2013 13:14:42 +0000 (14:14 +0100)
formulaires/souscription.html
formulaires/souscription.php

index 938a0e4..93b3855 100644 (file)
@@ -1,10 +1,9 @@
-<div class='formulaire_spip formulaire_#FORM formulaire_#FORM-#ENV{id_souscription,nouveau}'>
+<div class="formulaire_spip formulaire_#FORM formulaire_#FORM-#ENV{id_souscription,nouveau}[ formulaire_souscription_(#ENV{type_souscription})]">
   [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
   [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
 
-
   [(#ENV{editable})
-  <form method='post' action='#ENV{action}'><div>
+  <form method="post" action="#ENV{action}"><div>
       #ACTION_FORMULAIRE{#ENV{action}}
       <ul>
        [(#SAISIE{input, courriel, obligatoire=oui, label=<:souscription:label_courriel:>})]
@@ -15,9 +14,9 @@
         [(#SAISIE{hidden, type_souscription})]
       </ul>
 
-      <fieldset id="souscription_bloc_fiscal">
+      <fieldset class="souscription_bloc_fiscal">
         <legend>Informations complémentaires</legend>
-        <p>Les informations suivantes sont nécessaires (...)</p>
+        <p>FIXME: Les informations suivantes sont nécessaires (...)</p>
         <ul>
          [(#SAISIE{input, prenom, label=<:souscription:label_prenom:>})]
           [(#SAISIE{input, nom, label=<:souscription:label_nom:>})]
@@ -26,7 +25,7 @@
          [(#SAISIE{input, ville, label=<:souscription:label_ville:>})]                    
        </ul>
       </fieldset>
-      <p class="boutons"><input type='submit' class='submit' value='<:souscription:confirmer:>' /></p>
+      <p class="boutons"><input type="submit" class="submit" value="<:souscription:confirmer:>" /></p>
     </div>
   </form>
   ]
index d0efa4c..82a523d 100644 (file)
@@ -69,6 +69,11 @@ function formulaires_souscription_charger_dist($id_souscription_campagne) {
   if(!verifier_campagne($id_souscription_campagne))
     return false;
 
+  /* Récupération des information à propos de la campagne */
+  $type = sql_getfetsel("type_objectif",
+                        "spip_souscription_campagnes",
+                        "id_souscription_campagne=$id_souscription_campagne");
+
   return array('montant' => '',
                'courriel' => '',
                'recu_fiscal' => '',
@@ -79,7 +84,7 @@ function formulaires_souscription_charger_dist($id_souscription_campagne) {
                'code_postal' => '',
                'ville' => '',
                'id_souscription_campagne' => $id_souscription_campagne,
-               'type_souscription' => "don",
+               'type_souscription' => $type,
                );
 }
 
@@ -115,7 +120,7 @@ function formulaires_souscription_verifier_dist($id_souscription_campagne)
                                                      'id_souscription_campagne'));
 
   if(!verifier_campagne($id_souscription_campagne)) {
-    $erreurs['message_erreur'] = "La campagne à laquelle est associée ce don est invalide";
+    $erreurs['message_erreur'] = "La campagne à laquelle est associée cette souscription est invalide";
   }
 
   if(_request('recu_fiscal')) {
@@ -136,11 +141,12 @@ function formulaires_souscription_verifier_dist($id_souscription_campagne)
                         "spip_souscription_campagnes",
                         "id_souscription_campagne=$id_souscription_campagne");
 
-  if(!$type || $type != "don")
+  if(!$type || !in_array($type, array("don", "adhesion", "abonnement")))
     $erreurs['message_erreur'] = "Type de souscription invalide";
 
-  /* Le champ 'type' (hidden) doit être « don » */
-  if(_request('type_souscription') != "don")
+  /* Le champ 'type' (hidden) doit être le même que celui défini dans
+   * la campagne. */
+  if(_request('type_souscription') != $type)
     $erreurs['message_erreur'] = "Type de souscription invalide: " . _request('type_souscription');
 
   if ($e = _request('courriel') AND !email_valide($e))
@@ -218,8 +224,7 @@ function verifier_campagne($id_souscription_campagne) {
 
   /* Vérification de l'existance de la *campagne*, de son *statut* et de la *concordance du type* */
   if(intval($id_souscription_campagne)
-     AND $t = sql_getfetsel('type_objectif', 'spip_souscription_campagnes', 'id_souscription_campagne='.intval($id_souscription_campagne))
-     AND $t == 'don')
+     AND $t = sql_getfetsel('type_objectif', 'spip_souscription_campagnes', 'id_souscription_campagne='.intval($id_souscription_campagne)))
     {
       return true;
     }