Technique: Amélioration du code de création de fiches salariées#5541
Technique: Amélioration du code de création de fiches salariées#5541
Conversation
3996aba to
ca34de9
Compare
rsebille
left a comment
There was a problem hiding this comment.
J'aurais bien voulu dire "ça m'ennuie de pas comprendre pourquoi celui-ci à ce comportement et pas les autres" mais franchement autant WizardView() me semble OK que NamedUrlWizardView() c'est bizarre depuis le début, bref...
Merci pour l'amélioration 🙏
There was a problem hiding this comment.
On pourrais pas juste faire ça ?
| if step_url == self.steps.last and self.steps.current == self.steps.first: | |
| if step_url != self.steps.current: |
Quoique j'ai l'impression que le step n'est pas encore mis à ce moment car ça l'air d'être fait dans NamedUrlWizardView.get() :/.
There was a problem hiding this comment.
Ça plante pour l'étape done.
Donc il faut ajouter step_url != self.steps.current and step_url != "done"
mais c'est une bonne idée, ça force à l'étape en cours, c'est plus simple.
There was a problem hiding this comment.
(et les steps sont créés dans le dispatch, donc c'est bon)
Using condition_dict would make the user think there is only one step It also make a lot of calls to get_form_kwargs(), and plenty of queries...
ca34de9 to
0b862e0
Compare
| step_url = kwargs.get("step", None) | ||
| if step_url != self.steps.current and step_url != "done": |
There was a problem hiding this comment.
C'est vraiment des "url" ?
There was a problem hiding this comment.
non, c'est plus step_in_url mais c'est comme ça que c'est appelé dans NamedUrlWizardView donc j'ai voulu garder le même nom
Suspect IssuesThis pull request was deployed and Sentry observed the following issues:
Did you find this useful? React with a 👍 or 👎 |
🤔 Pourquoi ?
Voir la discussion : #5469 (comment)
condition_dict"masquait" la dernière étape quand la première n'avait pas été complétée, ce qui fait qu'on voyaitétape 1/1La lib se retrouve également a appeler plein de fois
get_form_kwargs()ce qui fait plein de requêtes.On pourrait mettre un cache sur
get_form_kwargs()mais cela ne résout pas la question du1/1Voici une approche un peu crado qui permet de rediriger au bon endroit quand on détecte un soucis de retour arrière (inspirée de ce qu'on fait dans
JobApplicationRefuseView).Mais bon, j'ai l'impression que la lib a un gros défaut : je ne comprends pas qu'elle permette de "sauter" vers une étape plus loin sans rien dire....
🍰 Comment ?
🚨 À vérifier
🏝️ Comment tester ?
💻 Captures d'écran