Skip to content
Extraits de code Groupes Projets
Valider e90f7607 rédigé par Maïeul's avatar Maïeul
Parcourir les fichiers

Lors de la configuration des champs du formulaire, vérifier à la soumission de...

Lors de la configuration des champs du formulaire, vérifier à la soumission de l'ensemble des champs si le `@@`  dans les
`afficher_si`  sont cohérents avec les champs du formulaire proposé.

On ne vérifie qu'à la fin, et pas au fur et à mesure, car il se peut
lors de la configuration des champs d'un formulaire qu'on supprime
des champs qui conditionnaient des afficher_si. La vérification
ne peut donc se faire que lors que la liste des champs est ferme.

Nécessite saisies 4.4.0
parent 5d081031
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -4,6 +4,7 @@
### Added
- Lors de la construction du formulaire, vérifier à la fin si les champs conditionnant des affichages sont bien présents, retourner un message d'erreur dans le cas contraire
- #105 Ajout des pipelines `formidable_pre_raccourcis_arobases` et `formidable_post_raccourcis_arobases` pour ajustement les traitements avant/après l'interprétation des raccourcis `@champs@`
### Changed
......
......@@ -2,7 +2,7 @@
<div class="formulaire_spip formulaire_editer formulaire_#ENV{form}[ formulaire_#ENV{form}-(#ENV{id,nouveau})]">
[(#ALERTE_MESSAGE{<:saisies:construire_attention_enregistrer:>, '', info message_saisies_modifiees})]
#SET{construire_formulaire,''}
[(#ENV*{message_erreur}|non|ou{#ENV*{erreurs/saisies_modifiees_parallele}})
[(#ENV*{message_erreur}|non|ou{#ENV*{erreurs/saisies_modifiees_parallele}}|ou{#ENV{erreurs/saisies_incoherence_afficher_si}})
#SET{construire_formulaire,oui}
]
[<p class="reponse_formulaire reponse_formulaire_ok" role="status">(#ENV*{message_ok})</p>]
......
......@@ -201,12 +201,25 @@ function formulaires_editer_formulaire_champs_verifier($id_formulaire) {
if ($comparaison['supprimees']) {
$erreurs['message_erreur'] = _T('saisies:construire_attention_supprime');
}
//On vérifie s'il y a pas d'incohérence dans les afficher_si
$erreurs_afficher_si = saisies_verifier_coherence_afficher_si($saisies_nouvelles ?? []);
if ($erreurs_afficher_si) {
$erreurs['saisies_incoherence_afficher_si'] = True;
if ($erreurs['message_erreur'] ?? '') {
$erreurs['message_erreur'] .= '<br />'.$erreurs_afficher_si;
} else {
$erreurs['message_erreur'] = $erreurs_afficher_si;
}
}
} elseif (isset($annulation) and $annulation) {
// Si on annule on génère une erreur bidon juste pour réafficher le formulaire
$erreurs['pouetpouet'] = true;
$erreurs['message_erreur'] = '';
}
return $erreurs;
}
......
......@@ -47,7 +47,7 @@
<pipeline nom="saisies_autonomes" inclure="formidable_pipelines.php" />
<necessite nom="spip_bonux" compatibilite="[3.3.8;[" />
<necessite nom="saisies" compatibilite="[4.1.0;[" />
<necessite nom="saisies" compatibilite="[4.4.0;[" />
<necessite nom="verifier" compatibilite="[1.12.0;[" />
<necessite nom="yaml" compatibilite="[1.5.2;[" />
<necessite nom="facteur" compatibilite="[3.6.2;[" />
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter