Bug #70116
handle_form, next_url non initialisé (UnboundLocalError: local variable 'next_url' referenced before assignment)
0%
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/96003/
UnboundLocalError: local variable 'next_url' referenced before assignment (15 additional frame(s) were not displayed) ... File "wcs/forms/common.py", line 400, in check_submitted_form url = self.submit(form) File "wcs/forms/common.py", line 691, in submit next_url = self.filled.handle_workflow_form(user, form) File "wcs/formdata.py", line 741, in handle_workflow_form return wf_status.handle_form(form, self, user) File "wcs/workflows.py", line 2035, in handle_form url = super().handle_form(form, filled, user, evo) File "wcs/workflows.py", line 1828, in handle_form return next_url
Fichiers
Révisions associées
Historique
Mis à jour par Lauréline Guérin il y a plus d'un an
- Projet changé de Suivi des traces à w.c.s.
- Sujet changé de UnboundLocalError: local variable 'next_url' referenced before assignment à handle_form, next_url non initialisé (UnboundLocalError: local variable 'next_url' referenced before assignment)
(parce que get_active_items
ne renvoie rien ?)
Mis à jour par Frédéric Péters il y a plus d'un an
- Assigné à mis à Frédéric Péters
Je vais le regarder.
Mis à jour par Frédéric Péters il y a plus d'un an
- Fichier 0001-workflows-do-not-crash-if-workflow-form-has-no-actio.patch 0001-workflows-do-not-crash-if-workflow-form-has-no-actio.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Je ne vois pas de situation normale où ça peut arriver, si on entre dans handle_form c'est qu'on avait un formulaire (ici qui a permis d'après sentry {"button6": "Valider la demande"}), mais ensuite la seule possibilité pour avoir next_url pas défini c'est que self.get_active_items(form, filled, user) n'ait rien retourné mais j'ai tenté l'écriture de tests sur base d'hypothèses comme workflow modifié entre temps, ou rôles de l'agent qui changent, et ça ne le fait pas (au submit le formulaire est vide et on n'arrive pas dans l'handle_form).
J'ai poussé la branche sans test pouvant reproduire :/
Mis à jour par Lauréline Guérin il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
ok, au moins ça évitera la 500
Mis à jour par Frédéric Péters il y a plus d'un an
- Statut changé de Solution validée à Résolu (à déployer)
commit e02c242fe1617050086c57338124e9c81cc809e9 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Oct 11 16:30:14 2022 +0200 workflows: do not crash if workflow form has no actions (#70116)
Mis à jour par Transition automatique il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
workflows: do not crash if workflow form has no actions (#70116)