Bug #52060
bug sur valeur champ "liste" posée depuis l'API (et champ en autocomplétion)
Début:
15 mars 2021
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Pour aider derrière on enregistre le libellé en ession sauf que quand la création se fait via l'API .../submit, il n'y a pas de session et crash,
Exception: type = '<class 'psycopg2.IntegrityError'>', value = 'null value in column "id" violates not-null constraint DETAIL: Failing row contains (null, \x80027d7100285802000000696471014e58040000007573657271024e580f00..., null, null, 2021-03-15 16:07:16.904486). ' ... File "/usr/lib/python3/dist-packages/wcs/sessions.py", line 159, in get_data_source_query_info_token 157 key = str(uuid.uuid4()) 158 self.data_source_query_url_tokens[key] = info > 159 self.store() 160 return key 161 locals: info = {'url': 'https://.../base-adresse/adresses-13/addresses?q='} key = '12b29055-153d-415b-9da1-9863bad9fc03' self = <Session at 7f1f90230dd8: None> File "/usr/lib/python3/dist-packages/wcs/data_sources.py", line 531, in get_jsonp_url 529 if json_url: 530 info = {'url': json_url} > 531 return '/api/autocomplete/%s' % (get_session().get_data_source_query_info_token(info)) 532 if self.type and self.type.startswith('carddef:'): 533 parts = self.type.split(':') locals: info = {'url': 'https://.../base-adresse/adresses-13/addresses?q='} json_url = 'https://.../base-adresse/adresses-13/addresses?q=' self = <NamedDataSource 'Adresses 13' id:4> File "/usr/lib/python3/dist-packages/wcs/fields.py", line 1885, in get_display_value 1883 if self.display_mode == 'autocomplete' and data_source and data_source.can_jsonp(): 1884 # store display value in session to be used by select2 > 1885 url = data_source.get_jsonp_url() 1886 if not get_session().jsonp_display_values: 1887 get_session().jsonp_display_values = {} locals: data_source = <NamedDataSource 'Adresses 13' id:4> display_value = None self = <ItemField 8 'Saisissez une adresse'> value = '13204_8376_00052' File "/usr/lib/python3/dist-packages/wcs/fields.py", line 1970, in store_display_value 1968 ] = display_value 1969 return display_value > 1970 return self.get_display_value(value) 1971 1972 def store_structured_value(self, data, field_id): locals: data = {'8': '13204_8376_00052'} data_source = <NamedDataSource 'Adresses 13' id:4> field_id = '8' self = <ItemField 8 'Saisissez une adresse'> value = '13204_8376_00052' File "/usr/lib/python3/dist-packages/wcs/api.py", line 78, in posted_json_data_to_formdata_data 76 if display not in data and structured not in data: 77 if field.store_display_value: > 78 display_value = field.store_display_value(data, field.id) 79 if display_value is not None: 80 data[display] = display_value ...
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a environ 3 ans
- Fichier 0001-misc-do-not-save-autocomplete-url-when-there-s-no-se.patch 0001-misc-do-not-save-autocomplete-url-when-there-s-no-se.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Paul Marillonnet il y a environ 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit ea731d19f3d45279c7b2b53753a37eea85cd2721 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Mon Mar 15 16:55:35 2021 +0100 misc: do not save autocomplete url when there's no session (#52060)
Mis à jour par Frédéric Péters il y a environ 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: do not save autocomplete url when there's no session (#52060)