Afficher un récapitulatif des étapes avant de valider le formulaire
#96
Closed
opened 2 years ago by nicod_
·
13 comments
No Branch/Tag Specified
master
issue45_nospam_encrypt_name
conteneur_inline
v3
issue261_etoile_message_erreur
issue24_data_choix_autre
fieldset_simplifier_conteneur
php8
explication_simplifier_conteneur
constructeur_glisser_deposer
issue_48
issue99
no_submit
v1
v2
v3.54.9
v4.0.4
v3.41.3
v4.8.0
v4.7.1
v4.7.0
v4.6.1
v4.6.0
v4.5.1
v4.5.0
v4.4.1
v4.4.0
v4.3.6
v4.3.5
v4.3.4
v4.3.3
v4.3.2
v4.3.1
v4.3.0
v4.2.3
v4.2.1
v4.2.0
v4.1.0
v4.0.3
v4.0.2
v3.9.1
v3.9.0
v3.8.9
v3.8.8
v3.8.7
v3.8.6
v3.8.5
v3.8.4
v3.8.3
v3.8.2
v3.8.11
v3.8.10
v3.8.1
v3.8.0
v3.7.2
v3.7.1
v3.7.0
v3.6.4
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.56.6
v3.56.5
v3.56.4
v3.56.3
v3.56.2
v3.56.1
v3.56.0
v3.55.4
v3.55.3
v3.55.2
v3.55.1
v3.55.0
v3.54.8
v3.54.7
v3.54.6
v3.54.4
v3.54.2
v3.54.10
v3.54.1
v3.54.0
v3.53.3
v3.53.2
v3.53.1
v3.53.0
v3.52.2
v3.52.1
v3.52.0
v3.51.8
v3.51.7
v3.51.6
v3.51.5
v3.51.4
v3.51.3
v3.51.2
v3.51.1
v3.51.0
v3.50.2
v3.50.1
v3.50.0
v3.5.1
v3.5.0
v3.49.1
v3.49.0
v3.48.2
v3.48.1
v3.48.0
v3.47.3
v3.47.2
v3.47.1
v3.47.0
v3.46.0
v3.45.2
v3.45.1
v3.45.0
v3.44.1
v3.44.0
v3.43.5
v3.43.4
v3.43.3
v3.43.2
v3.43.0
v3.42.8
v3.42.7
v3.42.6
v3.42.5
v3.42.2
v3.42.1
v3.42.0
v3.41.6
v3.41.5
v3.41.0
v3.40.1
v3.40.0
v3.4.0
v3.39.0
v3.38.2
v3.38.0
v3.37.1
v3.37.0
v3.36.2
v3.32.0
v3.31.3
v3.31.2
v3.31.1
v3.31.0
v3.30.2
v3.30.1
v3.30.0
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.29.1
v3.29.0
v3.28.9
v3.28.8
v3.28.7
v3.28.6
v3.28.5
v3.28.4
v3.28.3
v3.28.2
v3.28.16
v3.28.15
v3.28.14
v3.28.13
v3.28.12
v3.28.11
v3.28.10
v3.28.1
v3.28.0
v3.27.7
v3.27.6
v3.27.5
v3.27.4
v3.27.3
v3.27.2
v3.27.1
v3.27.0
v3.26.1
v3.26.0
v3.25.1
v3.25.0
v3.24.0
v3.23.4
v3.23.3
v3.23.2
v3.23.1
v3.23.0
v3.22.1
v3.22.0
v3.21.4
v3.21.3
v3.21.2
v3.21.1
v3.21.0
v3.20.0
v3.2.1
v3.2.0
v3.19.6
v3.19.5
v3.19.4
v3.19.3
v3.19.2
v3.19.1
v3.19.0
v3.18.9
v3.18.8
v3.18.7
v3.18.6
v3.18.5
v3.18.4
v3.18.3
v3.18.2
v3.18.14
v3.18.13
v3.18.12
v3.18.11
v3.18.10
v3.18.1
v3.18.0
v3.17.0
v3.16.1
v3.16.0
v3.15.0
v3.14.0
v3.13.4
v3.13.3
v3.13.2
v3.13.1
v3.13.0
v3.12.7
v3.12.6
v3.12.5
v3.12.4
v3.12.3
v3.12.2
v3.12.1
v3.12.0
v3.11.2
v3.11.1
v3.11.0
v3.10.1
v3.10.0
v3.1.0
v3.0.0
v2.9.0
v2.8.1
v2.8.0
v2.7.9
v2.7.8
v2.7.7
v2.7.6
v2.7.5
v2.7.4
v2.7.3
v2.7.2
v2.7.14
v2.7.13
v2.7.12
v2.7.11
v2.7.10
v2.7.1
v2.7.0
v2.6.3
v2.6.2
v2.6.1
v2.6.0
v2.5.9
v2.5.8
v2.5.7
v2.5.6
v2.5.5
v2.5.4
v2.5.30
v2.5.3
v2.5.29
v2.5.28
v2.5.27
v2.5.26
v2.5.25
v2.5.24
v2.5.23
v2.5.22
v2.5.21
v2.5.20
v2.5.2
v2.5.19
v2.5.18
v2.5.17
v2.5.16
v2.5.15
v2.5.14
v2.5.13
v2.5.12
v2.5.11
v2.5.10
v2.5.1
v2.5.0
v2.4.0
v2.3.1
v2.3.0
v2.28.0
v2.27.0
v2.26.9
v2.26.8
v2.26.7
v2.26.6
v2.26.5
v2.26.4
v2.26.3
v2.26.2
v2.26.10
v2.26.1
v2.26.0
v2.25.4
v2.25.3
v2.25.2
v2.25.1
v2.25.0
v2.24.3
v2.24.2
v2.24.1
v2.24.0
v2.23.6
v2.23.5
v2.23.4
v2.23.3
v2.23.2
v2.23.1
v2.23.0
v2.22.0
v2.21.4
v2.21.3
v2.21.2
v2.21.1
v2.21.0
v2.20.1
v2.20.0
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.19.9
v2.19.8
v2.19.7
v2.19.6
v2.19.5
v2.19.4
v2.19.3
v2.19.2
v2.19.1
v2.19.0
v2.18.9
v2.18.8
v2.18.7
v2.18.6
v2.18.5
v2.18.4
v2.18.3
v2.18.24
v2.18.23
v2.18.22
v2.18.21
v2.18.20
v2.18.2
v2.18.19
v2.18.18
v2.18.17
v2.18.16
v2.18.15
v2.18.14
v2.18.13
v2.18.12
v2.18.11
v2.18.10
v2.18.1
v2.18.0
v2.17.1
v2.17.0
v2.16.2
v2.16.1
v2.16.0
v2.15.2
v2.15.1
v2.15.0
v2.14.8
v2.14.7
v2.14.6
v2.14.5
v2.14.4
v2.14.3
v2.14.2
v2.14.1
v2.14.0
v2.13.0
v2.12.0
v2.11.2
v2.11.1
v2.11.0
v2.10.0
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v1.42.5
v1.42.11
No Label
amélioration
bug
doublon
help wanted
invalide
question
refusé
Milestone
Set milestone
Clear milestone
No items
No Milestone
Assignees
Assign users
Clear assignees
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: spip-contrib-extensions/saisies#96
Reference in New Issue
There is no content yet.
Delete Branch '%!s(<nil>)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
No
Yes
Règle Opquast n° 81 - Lors de la saisie d'un formulaire réparti sur plusieurs pages, un récapitulatif global est affiché avant l'envoi définitif.
https://checklists.opquast.com/fr/assurance-qualite-web/lors-de-la-saisie-dun-formulaire-reparti-sur-plusieurs-pages-un-recapitulatif-global-est-affiche-avant-lenvoi-definitif
Ce n'est pas géré actuellement, ce serait bien.
concrètenment ce serait quoi : après la dernière étape, un affichage de l'ensemble des étapes ? du coup ce serait peut être au core de gerer cela, en fournissant un truc genre "formulaires_etapes_recapitulatif" ?
Un affichage de l'ensemble des étapes oui, en tenant compte de afficher_si, et en n'affichant que les saisies effectivement remplies.
Ça permet de relire tout ce qu'on a saisi avant de valider.
A mettre en option cochée par défaut, éventuellement, pour que la bonne pratique s'applique mais qu'on puisse débrayer pour un usage particulier ?
oki, bah du coup je pense que ce serait encore un truc à coder d'abord dans le core... j'essaierai ce week-end
Donc pareil, j'ai mis dans issue_96 (on peut tester avec formidable avec la branche issuer_96).
Finalement j'ai renoncé pour l'instant à mettre dans le core, car je me dit qu'on devrait commencer par saisies, et ensuite voir à généraliser.
Pour les détails de l'implémentation technique, voir le message de commit sur la branche.
En avant premier des captures d'écran
Ça a l'air cool :)
faut tester maintenant :-p.
Un point ergo tout de même : pour permettre à une personne de revenir à une étape X lorsqu'elle a le recapitulatif final des étapes, je provoque une vrai/fausse erreur.
Le message d'erreur globale est alors mis en vide. Je me demande si on devrait pas mettre un message tout de même, du style "Vous avez signalé une erreur à cette étape. À vous de la corriger.".
Euh alors j'ai dû rater quelque chose : qu'est-ce que signifie "Vous avez signalé une erreu" ? à quel moment c'est aux gens de définir ça ? (protip : aucun :p )
Le récapitulatif, c'est censé être juste de l'affichage, un récap quoi, il ne doit y avoir aucune fonctionnalité particulière, juste de la lecture. Après les gens valident finalement, ou reviennent en arrière s'ils sont pas contents (y a déjà un chemin d'étapes exprès pour ça)
bah justement la phrase est pas bonne. Mais s'ielles reviennent en arrière, c'est bien que quelque part iellls se se trompées non ?
Donc c'est bien une erreur, mais pas au sens "technique" (genre les erreurs déclenché normalement par
verifier
), mais au sens "le contenu est pas correcte". Mais du coup faudrait trouver (ou pas) la bonne phrase en cas de retour arrière suite au recap de de ce qui a été saisie.Je ne comprends toujours pas :)
Ya aucune phrase à leur affiche du tout, ya aucune erreur : à tout moment n'importe qui a le droit de revenir en arrière tant qu'on n'a pas validé l'envoi final : c'est prévu de base dans l'API CVT multi étapes avec le aller_a_etape = X. Et c'est l'API qui se déplace au bon endroit, ya aucune fausse erreur à y mettre (ni erreur vide ni rien).
bah le problème c'est que la feature que j'ai ajouté ne rentre pas dans ce schema au niveau de l'API (qui soit dit en passant utilise en interne aussi des fausses erreurs !). En effet, le principe de l'API c'est que si la dernière étape est validée (= sans erreur) et qu'il n'y pas demande de retour en arrière, bah on repasse la validation globale, et zou on envoie.
Du coup pour implémenter cette feature sans réécrire toute l'API, et surtout pour la tester avant une future implémentaton dans l'API, saisies fonctionne ainsi:
cf
1cbe6acf91
qu'on déclanche une fausse erreur pour ne pas lancer la validation traitement, pour pouvoir afficher le récap, ça ok je pige
mais ce que je pige pas c'est pourquoi il y aurait une fausse erreur pour retourner en arrière, puisque justement l'API de base prévoit bien ça : pouvoir revenir en arrière à tout moment (donc y compris quand on est à la fin). Tu dis justement que ça passe au traitement si y a pas d'erreurs ni de retour en arrière. Bah là ya pas d'erreurs à mettre, mais ya bien un envoi de aller_a_etape avec une étape arrière, donc pas de fausse erreur à mettre.
Parce que l'API ne permettait pas
aller_a_etape
qui corresponde à la fois à l'étape courante et au nombre totale d'étape. Et je me suis embrouillé avec la correction d'un autre bug.Du coup spip/spip#165
et https://git.spip.net/spip-contrib-extensions/saisies/commit/d02573c