Ajout du mode de saisie radio+entree libre
authorCerdic <cedric@yterium.com>
Wed, 11 Dec 2013 08:02:53 +0000 (09:02 +0100)
committerCerdic <cedric@yterium.com>
Wed, 11 Dec 2013 08:02:53 +0000 (09:02 +0100)
+amelioration des libelle dans la configuration du plugin et d'une campagne

formulaires/configurer_souscription.html
formulaires/configurer_souscription.php
formulaires/editer_souscription_campagne.html
formulaires/editer_souscription_campagne.php
formulaires/inc-souscription-radio.html
formulaires/souscription.html
formulaires/souscription.php
lang/souscription_fr.php

index 8ff2b97..409031c 100644 (file)
@@ -40,6 +40,8 @@
                                                                <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_input:></option>
                                                                #SET{val,radio}
                                                                <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_radio:></option>
+                                                               #SET{val,radioinput}
+                                                               <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_radioinput:></option>
                                                                #SET{val,selection}
                                                                <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_selection:></option>
                                                        </select>
                                                                <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_input:></option>
                                                                #SET{val,radio}
                                                                <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_radio:></option>
+                                                               #SET{val,radioinput}
+                                                               <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_radioinput:></option>
                                                                #SET{val,selection}
                                                                <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_selection:></option>
                                                        </select>
index 8fe2c9b..b2cf8c1 100644 (file)
@@ -7,26 +7,26 @@ function formulaires_configurer_souscription_verifier_dist() {
   /* FIXME: vérifier le format de 'adhesion_montants' et 'don_montants' */
 
   $erreurs = array();
-  $type_saisies = array("input", "radio", "selection");
+  $type_saisies = array("input", "radio", "radioinput", "selection");
 
   if(_request("adhesion_activer")) {
     if(!_request("adhesion_type_saisie")) {
-      $erreurs["adhesion_type_saisie"] = _T("souscription:message_nok_champ_obligatoire");
+      $erreurs["adhesion_type_saisie"] = _T("souscription:erreur_champ_obligatoire");
     }
 
     if(!in_array(_request("adhesion_type_saisie"), $type_saisies)) {
-      $erreurs["adhesion_type_saisie"] = _T("souscription:message_nok_champ_invalide");
+      $erreurs["adhesion_type_saisie"] = _T("souscription:erreur_champ_invalide");
     }
   }
 
   if(_request("don_activer")) {
 
     if(!_request("don_type_saisie")) {
-      $erreurs["don_type_saisie"] = _T("souscription:message_nok_champ_obligatoire");
+      $erreurs["don_type_saisie"] = _T("souscription:erreur_champ_obligatoire");
     }
 
     if(!in_array(_request("don_type_saisie"), $type_saisies)) {
-      $erreurs["don_type_saisie"] = _T("souscription:message_nok_champ_invalide");
+      $erreurs["don_type_saisie"] = _T("souscription:erreur_champ_invalide");
     }
   }
 
index 8aee088..e14cb95 100644 (file)
                              <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_input:></option>
                              #SET{val,radio}
                              <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_radio:></option>
+                                         #SET{val,radioinput}
+                  <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_radioinput:></option>
                              #SET{val,selection}
                              <option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:souscription:configurer_type_saisie_selection:></option>
                            </select>
index a5ff7cd..ecc1bea 100644 (file)
@@ -102,16 +102,18 @@ function formulaires_editer_souscription_campagne_verifier_dist($id_souscription
         * dans la fonction traiter. */
        if (_request('configuration_specifique')){
                $type_saisie = _request('type_saisie');
-               if (!$type_saisie || !in_array($type_saisie, array('radio', 'selection', 'input')))
-                       $erreurs['type_saisie'] = _T('souscription:erreur_type_saisie');
-
-               $montants = _request('montants');
-               if ($type_saisie && in_array($type_saisie, array('radio', 'selection'))){
-                       if (!$montants || !is_string($montants))
-                               $erreurs['montants'] = _T('souscription:erreur_montants');
-
-                       elseif (!montants_str2array($montants))
-                               $erreurs['montants'] = _T('souscription:erreur_montants');
+               $saisies = array("input", "radio", "radioinput", "selection");
+               if (!$type_saisie || !in_array($type_saisie, $saisies))
+                       $erreurs['type_saisie'] = _T('souscription:erreur_champ_invalide');
+               else {
+                       $montants = _request('montants');
+                       if ($type_saisie && $type_saisie!=="input"){
+                               if (!$montants || !is_string($montants))
+                                       $erreurs['montants'] = _T('souscription:erreur_montants');
+
+                               elseif (!montants_str2array($montants))
+                                       $erreurs['montants'] = _T('souscription:erreur_montants');
+                       }
                }
        }
 
index 693a0f5..c4a131f 100644 (file)
@@ -5,4 +5,4 @@
                <input type="radio" name="#ENV{name}" class="radio" id="#ENV{name}_#GET{val}" value="#GET{val}"[(#ENV{valeur}|=={#GET{val}}|oui)checked="checked"] />
                <label for="#ENV{name}_#GET{val}">#VALEUR</label>
        </div>
-</BOUCLE_p>
+</BOUCLE_p>
\ No newline at end of file
index af25ba1..7d7184a 100644 (file)
@@ -21,7 +21,7 @@
         <li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
           <label for="#GET{name}">#ENV{montant_label}</label>[
           <span class='erreur_message'>(#GET{erreurs})</span>
-          ][<span class="input">(#INCLURE{fond=formulaires/inc-souscription-#ENV{montant_type},name=#GET{name},valeur=#ENV*{#GET{name},#GET{defaut}},obli=#GET{obli},montants=#ENV{_montant_datas}})</span>]
+          ][<span class="input">(#INCLURE{fond=formulaires/inc-souscription-#ENV{montant_type},name=#GET{name},valeur=#ENV*{#GET{name},#GET{defaut}},obli=#GET{obli},montants=#ENV{_montant_datas},montant_libre})</span>]
                [<p class="explication">(#ENV{montant_explication})</p>]
         </li>
              #SET{name,courriel}#SET{obli,'obligatoire'}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
index f288fa2..d0a027a 100644 (file)
@@ -56,6 +56,7 @@ function formulaires_souscription_charger_dist($id_souscription_campagne){
        $montant_explication = nl2br(lire_config("souscription/${type}_montants_description"));
 
        return array('montant' => '',
+               'montant_libre' => '',
                'courriel' => '',
                'recu_fiscal' => $recu_fiscal,
                'envoyer_info' => 'on',
@@ -142,6 +143,11 @@ function formulaires_souscription_verifier_dist($id_souscription_campagne){
         * paramètres globaux.
         */
        if ($e = _request('montant')){
+               $libre = false;
+               if ($e=="libre"){
+                       $e = _request('montant_libre');
+                       $libre = true;
+               }
                if (!(ctype_digit($e)))
                        $erreurs['montant'] = "Montant invalide";
                else {
@@ -156,8 +162,10 @@ function formulaires_souscription_verifier_dist($id_souscription_campagne){
                        /* On ne vérifie strictement la valeur du montant que si on
                         * n'utilise pas le type de saisie « entrée libre » (input) pour
                         * le montant. */
-                       if (($montant_type!="input") AND !array_key_exists($e, montants_str2array($montant_datas)))
-                          $erreurs['montant'] = "Le montant spécifié est invalide";
+                       if (($montant_type!=="input")
+                         AND !$libre
+                         AND !array_key_exists($e, montants_str2array($montant_datas)))
+                               $erreurs['montant'] = "Le montant spécifié est invalide";
                }
        }
 
@@ -196,6 +204,9 @@ function formulaires_souscription_traiter_dist($id_souscription_campagne){
        // generer la transaction et l'associer a la souscription
        $inserer_transaction = charger_fonction('inserer_transaction', 'bank');
        $montant = _request('montant');
+       if ($montant=="libre")
+               $montant = _request('montant_libre');
+
        $id_auteur = (isset($GLOBALS['visiteur_session']['id_auteur'])?$GLOBALS['visiteur_session']['id_auteur']:0);
        $id_transaction = $inserer_transaction($montant,
                $montant, /* montant_ht */
index bea4d72..1f095af 100644 (file)
@@ -24,8 +24,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'config_info_enregistree' => 'La nouvelle configuration a été enregistrée',
        'confirmer' => 'Valider',
        'confirmer_creation_campagne' => 'Enregistrer',
-       'configurer_type_saisie_input' => 'Entrée libre',
-       'configurer_type_saisie_radio' => 'Boutons radio',
+       'configurer_type_saisie_input' => 'Montant libre',
+       'configurer_type_saisie_radio' => 'Case à cocher',
+       'configurer_type_saisie_radioinput' => 'Case à cocher + Montant libre',
        'configurer_type_saisie_selection' => 'Liste déroulante',
 
 // E
@@ -89,6 +90,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'label_informer_comite_local' => 'Me faire connaître auprès du comité local le plus proche',
        'label_proposer_informer_comite_local' => 'Proposer d\'informer le comité local lors de l\'adhésion',
        'label_montant' => 'Montant',
+       'label_montant_libre' => 'Montant libre : ',
        'label_montant_actuel' => 'Niveau actuel de la campagne',
        'label_montant_liste' => 'Montant',
        'label_montants' => 'Montants',
@@ -102,7 +104,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'label_statut' => 'Statut',
        'label_telephone' => 'Téléphone',
        'label_titre' => 'Titre',
-       'label_type_saisie' => 'Types de saisies',
+       'label_type_saisie' => 'Mode de choix du montant',
        'label_type_souscription' => 'Type de souscription',
        'label_ville' => 'Ville',
        'label_avancement_campagne_adhesions' => "Avancement de la campagne&nbsp;: @nombre@ sur @objectif@&nbsp;!",
@@ -113,9 +115,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'label_general_groupe' => 'Options générales',
 
 // M
-       'message_nok_champ_invalide' => "Le type de saisie pour le montant est invalide",
-       'message_nok_champ_obligatoire' => 'Ce champ est obligatoire',
-       'message_nok_montants' => 'Erreur dans le format',
+       'erreur_champ_invalide' => "Le type de saisie pour le montant est invalide",
+       'erreur_champ_obligatoire' => 'Ce champ est obligatoire',
+       'erreur_montants' => 'Erreur dans le format',
 
 // S
        'souscription_titre' => 'Souscription',