Bug #56981
self.pages[page_no] -> IndexError: list index out of range
0%
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/52079/
IndexError: list index out of range (7 additional frame(s) were not displayed) ... File "quixote/directory.py", line 88, in _q_traverse return obj._q_traverse(path) File "quixote/directory.py", line 88, in _q_traverse return obj._q_traverse(path) File "quixote/directory.py", line 92, in _q_traverse return obj() File "wcs/backoffice/submission.py", line 148, in _q_index return super()._q_index(*args, **kwargs) File "wcs/forms/root.py", line 1181, in _q_index return self.page(self.pages[page_no])
Historique
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Sujet changé de IndexError: list index out of range à self.pages[page_no] -> IndexError: list index out of range
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
Vu à Toulouse aussi, https://sentry.entrouvert.org/entrouvert/nfrance/issues/48082/
Mis à jour par Lauréline Guérin il y a plus de 2 ans
Je n'arrive pas à écrire un test qui reproduise le soucis.
A priori, il s'agit de formulaires ne contenant que des pages à affichage conditionnel.
Les data postées lors de l'étape qui foire sont incomplètes: le champ qui sert à déterminer l'affichage de la page que le user a submit, est vide.
(mais ce champ ne l'était pas avant, puisque le user a réussi à arriver sur cette page).
Du coup le calcul et l'envoi sur la page suivante échoue; self.pages ne contient presque plus rien.
On pourrait juste mettre un try/except autour de return self.page(self.pages[page_no])
l1181, et renvoyer sur la première page en cas d'erreur ?
Mis à jour par Frédéric Péters il y a plus d'un an
Sur un cas que je viens de regarder il s'agit d'une saisie backoffice, avec une démarche avec une seule page avec form_user
en condition de page; a priori pour forcer la saisie depuis un lien du portail agent qui précise l'usager concerné.
(mais quand j'y regarde le log HTTP j'ai l'impression que le parcours est bien suivi, qu'on est bien lancé depuis le portail agent).