Skip to content

Outils pour améliorer CVT multiétape

Maïeul a demandé de fusionner gh-a590a9e0/152/unknown/refs/pull/152/head vers 3.2

Cette PR vise à permettre l'avance rapide sur du CVT multi étapes. Par exemple passer de l'étape 1 à l'étape 3 sans l'étape 2.

La vérification de l'étape 2 est toujours appellée dans ce cas, mais c'est au formulaire qui propose l'avance rapide de ne pas vérifier l'étape 2 si pertinent.

Le but au départ est de permettre de "sauter" des étapes dans un formulaire formidable, via afficher_si (j'ouvrirai la PR sur saisies bientôt).

Concrètement cette PR indique la branche 3.2, car j'ai du reporter un commit de @cerdic avant de faire mon boulot. Si elle est acceptée, il faudra reporter mes 3 commits dans master.

Ces 3 commits :

  1. Permettre à une fonction verifier de faire un `set_request('etape_dans_le_futur') pour sauter directement à l'étape dans le futur
  2. Fournir plus d'infos au pipeline saisies_verifier_etapes pour faciliter le travail (bien qu'on pourrait récuperer toutes ces infos via _request()
  3. Permet lorsqu'on fait une avance rapide à l'étape N de ne pas tester cette étape N, mais uniquement les étapes antérieurs à N.

Testé avec des formulaires formidables complexes + en tentant d'imiter un·e fraudeur·euse qui enverrait depuis un navigateur un 'aller_a_etape' pour faire une avance rapide. Le système teste bien les étapes intermédiaires. Ainsi, la contrainte "c'est bien au formulaire de décider le cas échéant de ne pas tester certaines étapes" est correctement prise en compte.

Mais d'autres avis/regards sur le code sont les bienvenus, car j'ai pas mal galéré pour trouver le bon équilibre, et j'ai peut être raté un truc.

Rapports de requête de fusion