<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>
/* 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");
}
}
<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>
* 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');
+ }
}
}
<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
<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}}}
$montant_explication = nl2br(lire_config("souscription/${type}_montants_description"));
return array('montant' => '',
+ 'montant_libre' => '',
'courriel' => '',
'recu_fiscal' => $recu_fiscal,
'envoyer_info' => 'on',
* 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 {
/* 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";
}
}
// 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 */
'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
'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',
'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 : @nombre@ sur @objectif@ !",
'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',