Bug #75041
bakoffice: listing des demandes avec filtre sur un champ item/items branche sur une customview de fiche (RecursionError: maximum recursion depth exceeded)
Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
02 mars 2023
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Non
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/107500/
RecursionError: maximum recursion depth exceeded (245 additional frame(s) were not displayed) ... File "wcs/backoffice/management.py", line 2075, in get_view_criterias filter_field.get_display_value(filter_field_value), File "wcs/fields.py", line 2214, in get_display_value display_value = data_source.get_display_value(value) File "wcs/data_sources.py", line 982, in get_display_value value = self.get_structured_value(option_id) File "wcs/data_sources.py", line 990, in get_structured_value value = self.get_card_structured_value_by_id(option_id) File "wcs/variables.py", line 700, in var return LazyFormDataVar(self._formdef.get_all_fields(), self._formdata.data, self._formdata)
Historique
Mis à jour par Lauréline Guérin il y a environ un an
- Projet changé de Suivi des traces à w.c.s.
Je pense une conséquence de #74320:
if filter_field.type in ('item', 'items'): - field_options = filter_field.get_options() - if field_options and type(field_options[0]) in (list, tuple): - for option in field_options: - if filter_field_value in (option[0], option[-1]): - filter_field_value = option[1] - break - criterias[-1]._label = '%s: %s' % (filter_field.label, filter_field_value) + criterias[-1]._label = '%s: %s' % ( + filter_field.label, + filter_field.get_display_value(filter_field_value), + )
Mis à jour par Lauréline Guérin il y a environ un an
ou peut-être pas, get_options semble aussi passer par le même chemin