Bug #56980
AttributeError: 'set' object has no attribute 'get'
Début:
16 septembre 2021
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
https://sentry.entrouvert.org/entrouvert/publik/issues/52154/
AttributeError: 'set' object has no attribute 'get' (15 additional frame(s) were not displayed) ... File "wcs/formdef.py", line 624, in create_form form, page=page, displayed_fields=displayed_fields, transient_formdata=transient_formdata File "wcs/formdef.py", line 673, in add_fields_to_form widget = field.add_to_form(form, value) File "wcs/fields.py", line 649, in add_to_form self.perform_more_widget_changes(form, kwargs) File "wcs/fields.py", line 1912, in perform_more_widget_changes items = data_sources.get_items(self.data_source, include_disabled=self.display_disabled_items) File "wcs/data_sources.py", line 161, in get_items if item.get('disabled') and not include_disabled:
Fichiers
Révisions associées
Historique
Mis à jour par Lauréline Guérin il y a plus de 2 ans
- Projet changé de Suivi des traces à w.c.s.
Formule mal écrite:
{type: 'formula', value: '[{"mairie-a-rdv", "Mairie A"}, {"mairie-b-rdv", "Mairie B"}]'}
Mais c'est dommage de planter sur ça
Mis à jour par Lauréline Guérin il y a plus de 2 ans
- Fichier 0001-datasource-fix-get_items-on-wrong-formula-56980.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Lauréline Guérin il y a plus de 2 ans
- Statut changé de Solution proposée à En cours
Mis à jour par Lauréline Guérin il y a plus de 2 ans
- Fichier
0001-datasource-fix-get_items-on-wrong-formula-56980.patchsupprimé
Mis à jour par Lauréline Guérin il y a plus de 2 ans
- Fichier 0001-datasource-fix-get_items-on-wrong-formula-56980.patch 0001-datasource-fix-get_items-on-wrong-formula-56980.patch ajouté
- Statut changé de En cours à Solution proposée
pas vraiment sûre de mon patch.
la datasource {'type': 'formula', 'value': 'form_var_xxx and [form_var_xxx] or []'}
du test tests.form_pages.test_all.test_form_multi_page_condition_data_source_with_form_variable renvoie du list(LazyFieldVar) en mode pickle-lazy seulement, dans les autres modes on a bien du list(str)
Mis à jour par Frédéric Péters il y a plus de 2 ans
Je dirais plutôt utiliser unlazy,
- elif isinstance(value[0], str): + elif isinstance(unlazy(value[0]), str):
Mis à jour par Lauréline Guérin il y a plus de 2 ans
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Lauréline Guérin il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 4d9e13279816595248ca1998c4d4065286a54503 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Mon Sep 20 08:18:11 2021 +0200 datasource: fix get_items on wrong formula (#56980)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
datasource: fix get_items on wrong formula (#56980)