mise en forme et bugfix sur la fiche d'une campagne
[spip_souscriptions.git] / formulaires / editer_souscription_campagne.php
index d1b5695..3dbc733 100644 (file)
@@ -40,61 +40,14 @@ function formulaires_editer_souscription_campagne_charger_dist($id_souscription_
                                              $row,
                                              $hidden);
 
-  $valeurs['objectif_oui_non'] = _request('objectif_oui_non');
-
   /* Si la valeur du champ 'objectif' est 0, alors, c'est que
    * l'objectif n'est pas activé. */
-  $defaut_objectif = "";
-  if($valeurs['objectif'] && $valeurs['objectif'] > 0)
-    $defaut_objectif = "on";
-
-  $saisies = array(array('saisie' => 'input',
-                        'options' => array('nom' => 'titre',
-                                           'label' => _T('souscription:label_titre'),
-                                           'obligatoire' => 'oui')
-                        ),
-                  array('saisie' => 'selection',
-                        'options' => array('nom' => 'type_objectif',
-                                           'obligatoire' => 'oui',
-                                           'label' => _T('souscription:label_type_objectif'),
-                                           'explication' => _T('souscription:explication_type_objectif'),
-                                           'datas' => array('don' => 'Dons',
-                                                            'adhesion' => 'Adhésions'))
-                        ),
-                  array('saisie' => 'oui_non',
-                        'options' => array('nom' => 'objectif_oui_non',
-                                           'label' => _T('souscription:label_objectif_oui_non'),
-                                           'defaut' => $defaut_objectif)
-                        ),
-                  array('saisie' => 'fieldset',
-                        'options' => array('nom' => 'groupe_limite',
-                                           'label' => _T('souscription:label_objectif_groupe'),
-                                           'afficher_si' => '@objectif_oui_non@ == "on"'),
-                        'saisies' => array(array('saisie' => 'input',
-                                                 'options' => array('nom' => 'objectif',
-                                                                    'obligatoire' => 'oui',
-                                                                    'label' => _T('souscription:label_objectif'),
-                                                                    'explication' => _T('souscription:explication_campagne_objectif')),
-                                                 ),
-                                           array('saisie' => 'input',
-                                                 'options' => array('nom' => 'objectif_initial',
-                                                                    'label' => _T('souscription:label_objectif_initial'),
-                                                                    'explication' => _T('souscription:explication_campagne_objectif_initial'))
-                                           ),
-                                           array('saisie' => 'oui_non',
-                                                 'options' => array('nom' => 'objectif_limiter',
-                                                                    'explication' => _T('souscription:explication_campagne_objectif_limite'),
-                                                                    'label' => _T('souscription:label_objectif_limite')))
-                                           ),
-                        ),
-                  array('saisie' => 'textarea',
-                        'options' => array('nom' => 'texte',
-                                           'label' => _T('souscription:label_description'),
-                                           'inserer_barre' => 'edition',
-                                           'rows' => '10'))
-                  );
-
-  $valeurs['_saisies'] = $saisies;
+       $valeurs['_defaut_objectif'] = "";
+  if($valeurs['objectif'] AND $valeurs['objectif'] > 0)
+         $valeurs['_defaut_objectif'] = "on";
+
+       // pour la saisie uniquement, pas en base
+       $valeurs['objectif_oui_non'] = "";
 
   return $valeurs;
 }
@@ -142,6 +95,25 @@ function formulaires_editer_souscription_campagne_verifier_dist($id_souscription
       $ret['limite'] = _T("souscription:message_nok_limite_valeur");
   }
 
+  /* Si une guration spécifique est demandée, alors on vérifie les
+   * valeurs 'type_saisie' et 'montants' (si on a demandé un bouton
+   * radio ou une selection). Autrement, les données sont supprimées
+   * dans la fonction traiter. */
+  if(_request('configuration_specifique')) {
+    $type_saisie = _request('type_saisie');
+    if(!$type_saisie || !in_array($type_saisie, array('radio', 'selection', 'input')))
+      $ret['type_saisie'] = _T('souscription:message_nok_type_saisie');
+
+    $montants = _request('montants');
+    if($type_saisie && in_array($type_saisie, array('radio', 'selection'))) {
+      if(!$montants || !is_string($montants))
+       $ret['montants'] = _T('souscription:message_nok_montants');
+
+      elseif(!montants_str2array($montants))
+       $ret['montants'] = _T('souscription:message_nok_montants');     
+    }
+  }
+
   return $ret;
 }
 
@@ -160,6 +132,11 @@ function formulaires_editer_souscription_campagne_traiter_dist($id_souscription_
     set_request('objectif_limiter', '');
   }
 
+  if(_request('configuration_specifique' != "on")) {
+    set_request('type_saisie', '');
+    set_request('montants', '');
+  }
+
   $res = formulaires_editer_objet_traiter('souscription_campagne',
                                           $id_souscription_campagne,
                                           '',