Projet

Général

Profil

Bug #75041

bakoffice: listing des demandes avec filtre sur un champ item/items branche sur une customview de fiche (RecursionError: maximum recursion depth exceeded)

Ajouté par Sentry Io il y a environ un an. Mis à jour il y a environ un an.

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

#1

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),
+                    )

#2

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

Formats disponibles : Atom PDF