Bug #50502
erreur "maximum recursion depth exceeded in comparison" lors de l'accès à une vue de fiche personnalisée
Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
25 janvier 2021
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Non
Description
Pas sûr des conditions dans lesquelles cela arrive:
Exception: type = '<class 'RecursionError'>', value = 'maximum recursion depth exceeded in comparison' Stack trace (most recent call first): File "/usr/lib/python3.7/gettext.py", line 453, in gettext 451 def gettext(self, message): 452 missing = object() > 453 tmsg = self._catalog.get(message, missing) 454 if tmsg is missing: 455 if self._fallback: locals: message = 'Recipient' missing = <object object at 0x7f4ccafe15d0> self = <DjangoTranslation lang:fr> File "/usr/lib/python3/dist-packages/django/utils/translation/trans_real.py", line 324, in do_translate 322 translation_object = getattr(_active, "value", _default) 323 > 324 result = getattr(translation_object, translation_function)(eol_message) 325 326 if isinstance(message, SafeData): locals: eol_message = 'Recipient' message = 'Recipient' translation_function = 'gettext' translation_object = <DjangoTranslation lang:fr> File "/usr/lib/python3/dist-packages/django/utils/translation/trans_real.py", line 338, in gettext 336 Returns a string on Python 3 and an UTF-8-encoded bytestring on Python 2. 337 """ > 338 return do_translate(message, 'gettext') 339 340 locals: message = 'Recipient' File "/usr/lib/python3/dist-packages/django/utils/translation/__init__.py", line 81, in gettext 79 80 def gettext(message): > 81 return _trans.gettext(message) 82 83 locals: message = 'Recipient' File "/usr/lib/python3/dist-packages/wcs/qommon/__init__.py", line 46, in _ 44 if pub is None: 45 return message > 46 return force_str(force_text(pub.gettext(str(message)))) 47 48 locals: message = 'Recipient' pub = <wcs.compat.CompatWcsPublisher object at 0x7f4ccaa2f898> File "/usr/lib/python3/dist-packages/wcs/workflows.py", line 350, in __init__ 348 self.name = name 349 self.possible_status = [] > 350 self.roles = {'_receiver': _('Recipient')} 351 self.global_actions = [] 352 self.criticality_levels = [] locals: name = 'Par défaut (fiches)' self = <Workflow 'Par défaut (fiches)' id:None> File "/usr/lib/python3/dist-packages/wcs/carddef.py", line 90, in get_default_workflow 88 ChoiceWorkflowStatusItem, Workflow) 89 from wcs.wf.remove import RemoveWorkflowStatusItem > 90 workflow = Workflow(name=_('Default (cards)')) 91 workflow.id = '_carddef_default' 92 workflow.roles = { locals: ChoiceWorkflowStatusItem = <class 'wcs.workflows.ChoiceWorkflowStatusItem'> EditableWorkflowStatusItem = <class 'wcs.workflows.EditableWorkflowStatusItem'> RemoveWorkflowStatusItem = <class 'wcs.wf.remove.RemoveWorkflowStatusItem'> Workflow = <class 'wcs.workflows.Workflow'> cls = <class 'wcs.carddef.CardDef'> File "/usr/lib/python3/dist-packages/wcs/formdef.py", line 440, in get_workflow 438 return self._workflow 439 else: > 440 return self.get_default_workflow() 441 442 @classmethod locals: Workflow = <class 'wcs.workflows.Workflow'> self = <CardDef 'Renseignements - démarche - catégorie - objet - services traitants' id:3> File "/usr/lib/python3/dist-packages/wcs/formdef.py", line 397, in get_all_fields 395 396 def get_all_fields(self): > 397 return (self.fields or []) + self.workflow.get_backoffice_fields() 398 399 def get_widget_fields(self): locals: self = <CardDef 'Renseignements - démarche - catégorie - objet - services traitants' id:3> File "/usr/lib/python3/dist-packages/wcs/backoffice/management.py", line 1637, in get_formdef_fields 1635 yield UserRelatedField(field) 1636 > 1637 for field in self.formdef.get_all_fields(): 1638 yield field 1639 if not get_publisher().is_using_postgresql(): locals: field = <StringField _avatar 'Avatar'> self = <wcs.backoffice.data_management.CardPage object at 0x7f4cc87f3320> ... Environment: HTTP_ACCEPT 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' HTTP_ACCEPT_ENCODING 'gzip, deflate, br' HTTP_ACCEPT_LANGUAGE 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3' HTTP_CONNECTION 'close' HTTP_HOST 'services-test.demarches.grenoblealpesmetropole.fr' HTTP_REFERER 'https://services-test.demarches.grenoblealpesmetropole.fr/backoffice/data/demarche-categorie-objet-service-traitant/liste-des-demarches-thematiques/' HTTP_UPGRADE_INSECURE_REQUESTS '1' HTTP_USER_AGENT 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0' HTTP_X_FORWARDED_HOST 'services-test.demarches.grenoblealpesmetropole.fr' HTTP_X_FORWARDED_PROTO 'https' HTTP_X_FORWARDED_PROTOCOL 'ssl' HTTP_X_FORWARDED_SERVER 'test.demarches.grenoblealpesmetropole.fr' HTTP_X_FORWARDED_SSL 'on' PATH_INFO '/backoffice/data/demarche-categorie-objet-service-traitant/pardefaut/' QUERY_STRING '' REQUEST_METHOD 'GET' REQUEST_URI '/backoffice/data/demarche-categorie-objet-service-traitant/pardefaut/'
A priori il y a eu des supressions de champs dans le modèle de fiche après la construction de vues personnalisées.
Historique
Mis à jour par Frédéric Péters il y a 5 mois
- Statut changé de Nouveau à Fermé
Pas sûr des conditions dans lesquelles cela arrive:
Pas l'impression d'avoir revu ça, si jamais ça arrive, espérons que les conditions soient plus claires.