Development #45375
Trace sur l'affichage de plusieurs formulaires de worflow
Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
22 juillet 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Non
Description
Cette trace est issue de workflow : https://formulaires-saint-denis-93.test.entrouvert.org/backoffice/workflows/2/status/22/
qui affiche plusieurs formulaires en même temps (parce que chaque formulaire est dédié à une fonction et qu'ici on accède avec un utilisateur admin qui possède plusieurs de ces rôles d'agent traitants).
Exception: type = '<class 'ValueError'>', value = 'form already has 'f1' widget' Stack trace (most recent call first): File "/usr/lib/python3/dist-packages/quixote/form/form.py", line 230, in add 228 def add(self, widget_class, name, *args, **kwargs): 229 if name in self._names: > 230 raise ValueError("form already has '%s' widget" % name) 231 # add 'id' attribute if not already present 232 if 'id' not in kwargs: locals: args = () kwargs = {'title': 'Accord pour intervention', 'hint': None, 'required': True, 'render_br': False, +'options': [('Oui', 'Oui'), ('Non', 'Non')]} name = 'f1' self = <wcs.qommon.form.Form object at 0x7f7e0dab6cf8> widget_class = <class 'wcs.qommon.form.RadiobuttonsWidget'> File "/usr/lib/python3/dist-packages/wcs/qommon/form.py", line 356, in add 354 advanced = True 355 del kwargs['advanced'] > 356 QuixoteForm.add(self, widget_class, name, *args, **kwargs) 357 widget = self._names[name] 358 if 'id' not in kwargs and 'id' in widget.attrs:
On peut reproduire localement en créant un worflow qui dans un même état dispose de 2 actions formulaire (cf workflow joint).
Fichiers
Demandes liées
Historique
Mis à jour par Frédéric Péters il y a presque 4 ans
- Duplique Bug #13846: permettre à un statut de contenir deux actions "ajouter un formulaire" ajouté
Mis à jour par Frédéric Péters il y a presque 4 ans
- Lié à Bug #45379: ValueError: form already has 'f1' widget ajouté
Mis à jour par Frédéric Péters il y a presque 4 ans
Nicolas c'est utile pour les traces de créer les tickets en passant par sentry, ou d'associer dans sentry un ticket existant, pour ne pas demander le même travail à quelqu'un d'autre.