X-Git-Url: http://olivier.miskin.fr/git/?a=blobdiff_plain;f=formulaires%2Fediter_souscription_campagne.php;h=21793cc0d86406616a01d17e8bbaa39bdca7b301;hb=a0a20ccb692553ea2f04469225e37f49f5a4cafb;hp=2ee36cf81cee4296c69b0ae994390f1b64b0f9bf;hpb=a70db1327c7d77e0908a329cb6a2effb5ae55b63;p=spip_souscriptions.git diff --git a/formulaires/editer_souscription_campagne.php b/formulaires/editer_souscription_campagne.php index 2ee36cf..21793cc 100644 --- a/formulaires/editer_souscription_campagne.php +++ b/formulaires/editer_souscription_campagne.php @@ -31,14 +31,68 @@ function formulaires_editer_souscription_campagne_charger_dist($id_souscription_ $row=array(), $hidden='') { - return formulaires_editer_objet_charger('souscription_campagne', - $id_souscription_campagne, - '', - $lier_trad, - $retour, - $config_fonc, - $row, - $hidden); + $valeurs = formulaires_editer_objet_charger('souscription_campagne', + $id_souscription_campagne, + '', + $lier_trad, + $retour, + $config_fonc, + $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' => 'textarea', + 'options' => array('nom' => 'texte', + 'label' => _T('souscription:label_description'), + 'inserer_barre' => 'edition', + 'rows' => '10')) + ); + + $valeurs['_saisies'] = $saisies; + + return $valeurs; } function formulaires_editer_souscription_campagne_verifier_dist($id_souscription_campagne='new', @@ -48,7 +102,7 @@ function formulaires_editer_souscription_campagne_verifier_dist($id_souscription $row=array(), $hidden='') { - + $ret = formulaires_editer_objet_verifier('souscription_campagne', $id_souscription_campagne, array('titre', @@ -56,16 +110,24 @@ function formulaires_editer_souscription_campagne_verifier_dist($id_souscription )); $type = _request("type_objectif"); - if(!in_array($type, array('don', 'abonnement', 'adhesion'))) - $ret['type_objectif'] = "Type d'objectif invalide"; + if(!in_array($type, array('don', 'adhesion'))) + $ret['type_objectif'] = _T("souscription:message_nok_objectif_invalide"); - $objectif_initial = _request('objectif_initial'); - if(!ctype_digit($objectif_initial) || intval($objectif_initial) < 0) - $ret['objectif_initial'] = "Valeur de l'objectif initial invalide"; + /* Si un objectif est demandé, alors on vérifie que les champs sont + * bien des entiers. */ + if(_request('objectif_oui_non') == 'on') { + $objectif = _request('objectif'); + if(!ctype_digit($objectif) || intval($objectif) < 0) + $ret['objectif'] = _T("souscription:message_nok_objectif_invalide"); - $objectif = _request('objectif'); - if(!ctype_digit($objectif) || intval($objectif) < 0) - $ret['objectif'] = "Valeur de l'objectif initial invalide"; + $objectif_initial = _request('objectif_initial'); + if($objectif_initial != '') { + if(!ctype_digit($objectif_initial) || intval($objectif_initial < 0)) + $ret['objectif_initial'] = _T("souscription:message_nok_objectif_initial_valeur"); + elseif(intval($objectif_initial) > $objectif) + $ret['objectif_initial'] = _T("souscription:message_nok_objectif_initial_supperieur_objectif"); + } + } return $ret; } @@ -78,6 +140,13 @@ function formulaires_editer_souscription_campagne_traiter_dist($id_souscription_ $hidden='') { + /* Si un objectif n'est pas demandée, alors, on remplace la valeur + * fournie (quelqu'elle soit, par 0) */ + if(_request('objectif_oui_non') != "on") { + set_request('objectif', 0); + set_request('objectif_initial', 0); + } + $res = formulaires_editer_objet_traiter('souscription_campagne', $id_souscription_campagne, '', @@ -87,18 +156,5 @@ function formulaires_editer_souscription_campagne_traiter_dist($id_souscription_ $row, $hidden); - /* // Un lien a prendre en compte ? */ - /* if ($associer_objet AND $id_souscription_campagne = $res['id_souscription_campagne']) { */ - /* list($objet, $id_objet) = explode('|', $associer_objet); */ - - /* if ($objet AND $id_objet AND autoriser('modifier', $objet, $id_objet)) { */ - /* include_spip('action/editer_liens'); */ - /* objet_associer(array('souscription_campagne' => $id_souscription_campagne), array($objet => $id_objet)); */ - /* if (isset($res['redirect'])) { */ - /* $res['redirect'] = parametre_url ($res['redirect'], "id_lien_ajoute", $id_souscription_campagne, '&'); */ - /* } */ - /* } */ - /* } */ - return $res; }