X-Git-Url: http://olivier.miskin.fr/git/?a=blobdiff_plain;f=formulaires%2Fediter_souscription_campagne.php;h=3dbc733d66d0d31339450247a59a25a528538aa4;hb=c837bd17c3c5648c9263251654d983e6fedad252;hp=d1b5695e709398d143c774cd038df1d9688aefca;hpb=c92914b1bfd980452d3ad30dc60afb9fb65b8f46;p=spip_souscriptions.git diff --git a/formulaires/editer_souscription_campagne.php b/formulaires/editer_souscription_campagne.php index d1b5695..3dbc733 100644 --- a/formulaires/editer_souscription_campagne.php +++ b/formulaires/editer_souscription_campagne.php @@ -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, '',