Mieux gérer la recherche des anciennes valeurs
Le problème
Depublie_choix
L'option "depublie_choix" pour une saisie de type radio/select permet de ne plus proposer des choix qui étaient avant proposée, tout en gardant
- La possibilité d'envoyer un choix précédement proposé si c'était le choix qui avait été fait sur une ancienne réponse
- Affiche la valeur humaine du choix
Exemple : une association possède un formulaire de suivi de matériel astronomique. Lorsqu'un telescope sort du parc, il ne faut plus le proposer, mais il faut encore pouvoir voir les anciennes réponses et le cas échéant les modifier en gardant toujours l'ancien nom du telescope.
Valeurs acceptables
Par ailleurs, il existe une option "Vérifier les valeurs acceptables" soit au niveau global du formulaire, soit comme vérification sur une saisie individuelle, permettant de s'assurer qu'une personne ne soumette pas pour une saisie à data (type radio/tableau etc) un choix pas proposé. par exemple si on a le choix entre "canard" et "poule" on ne doit pas pouvoir envoyer "oie".
Sauf QUE si par le passé on pouvait choisie OIE il faut pouvoir envoyer OIE uniquement si la précédente réponse est OIE.
Et c'est là que le micmac arrive.
Le besoin de base
Il faut pouvoir disposer au niveau de la fonction (ou plus précisement du pipeline) _verifier
des anciennes valeurs. Mais les anciennes valeurs sont disponibles uniquement au niveau de _charger
. Or malgrès l'acronyme CVT, les fonctions _charger
sont executés après les fonctions verifier (parce qu'on vérifie d'abord ce qu'on recoit avant d'éventuellement réafficher le formulaire).
La solution adoptée consiste actuellement à envoie en hidden chiffrée les anciennes valeurs lors du tout premier affichage du formulaire PUIS à les déchiffrer à réceptions PUIS à les envoyer en _set_request
PUIS à les rechercher à dans verifier.
Il faudrait simplifier cela
- Deja puisqu'on en a besoin uniquement dans verifier, on peut se passer de l'étape qui pousse dans set_request au niveau de receptionner, ce qui est toujours mieux.
- Ensuite dans l'idéal il faudrait pouvoir se passer de les envoyer en hidden chiffré sauf que vu la manière dont fonctionne actuellement les formulaire CVT, je ne vois vraiment pas comment faire autrement.
ping @cerdic