Development #8962
condition de sortie de page
0%
Description
Dixit Frédéric :
(...) à côté de la condition d'affichage de page qui existe déjà. Modulo un truc quand même, c'est qu'on doit pouvoir avoir des messages d'erreurs pertinents, donc un champ supplémentaire pour celui-ci (on pourrait aussi imaginer avoir n conditions de sortie et autant de messages associés, sans doute pas utile là).
Files
Associated revisions
History
Updated by Thomas Noël about 7 years ago
Est-ce qu'on permettrait plusieurs conditions de sortie ? (parce que ça pourra vite être une grande formule pénible) pour éventuellement lier chaque condition à un champ de la page où sera posée le message d'erreur...
(et je sais que la réponse sera "non, on fait comme la condition d'entrée", mais bon, voilà, j'ai dit)
Updated by Frédéric Péters about 7 years ago
Oui, on prévoit plusieurs sorties. (tableau de {'condition': '...', 'error_msg': '...'}).
Updated by Thomas Noël about 7 years ago
Frédéric Péters a écrit :
tableau de {'condition': '...', 'error_msg': '...'}
Donc éventuellement « {'condition': '...', 'error_msg': '...', 'fields': [...]} » avec "field" qui serait présenté en UI comme un select multiple des champs de la page. Ouaip, bon.
(note en coin de tête : ça serait bien aussi d'avoir la possibilité de mettre des conditions d'entrée multiples, à cette occasion, histoire d'éviter les conditions à rallonge à cause d'un ou deux "and")
Updated by Frédéric Péters about 7 years ago
Je ne vois pas ce que tu mettrais dans "fields". (j'aurais au pire imaginé le champ sur lequel attacher l'erreur si elle survient, mais là encore ça ne serait qu'un seul champ)
Updated by Frédéric Péters about 7 years ago
Et donc en relisant plus haut, un peu oui attacher le message à un champ. Et je dis non, que les messages s'attacheront à la page.
Updated by Thomas Noël about 7 years ago
Frédéric Péters a écrit :
Je ne vois pas ce que tu mettrais dans "fields". (j'aurais au pire imaginé le champ sur lequel attacher l'erreur si elle survient, mais là encore ça ne serait qu'un seul champ)
Oui, c'était « fields=['11', '12'] » pour dire « quand cette condition n'est pas remplie, mettre le message d'erreur sur les champs 11 et 12 »
Pas de soucis si y'a une impossibilité (j'ai pas regardé le code et même pas trop reflechi)
Updated by Frédéric Péters about 7 years ago
- File 0001-forms-add-post-conditions-to-page-fields-8962.patch 0001-forms-add-post-conditions-to-page-fields-8962.patch added
- Status changed from Nouveau to En cours
Premier brouillon de patch, pour valider les idées. (c'est un peu bricolé pour avoir des erreurs "globales" au niveau des formulaires quixote)
Updated by Thomas Noël about 7 years ago
(j'ai juste relu, pas testé)
Donc sur le principe tout me parait conforme à l'attente.
Sauf : pour ne pas avoir les mêmes soucis actuellement avec les conditions de page ou de certains workflows, je préférerais qu'un RuntimeError soit considéré comme False et, donc, déclenche l'erreur.
Updated by Frédéric Péters about 7 years ago
- File 0001-forms-add-post-conditions-to-page-fields-8962.patch 0001-forms-add-post-conditions-to-page-fields-8962.patch added
- Patch proposed changed from No to Yes
Voilà le patch complété avec du code pour assurer l'import/export xml et des tests, et la modification suggérée sur le comportement en cas d'exception dans l'expression.
Updated by Thomas Noël about 7 years ago
- Due date set to 04 February 2016
(échéance au 4, en essayant de l'avoir en release (recette) le 5 février, car ça serait un bon timing pour une amélioration en backoffice à Alfortville)
Updated by Frédéric Péters about 7 years ago
- File 0001-forms-add-post-conditions-to-page-fields-8962.patch 0001-forms-add-post-conditions-to-page-fields-8962.patch added
Patch mis à jour pour fonctionner avec les champs de la page même.
Updated by Frédéric Péters about 7 years ago
- Status changed from En cours to Résolu (à déployer)
commit e9fd0ae73bd57ad58ff15aaeaae3dfe596d63148 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed Jan 20 18:42:24 2016 +0100 forms: add post-conditions to page fields (#8962)
forms: add post-conditions to page fields (#8962)