Projet

Général

Profil

Bug #52060

bug sur valeur champ "liste" posée depuis l'API (et champ en autocomplétion)

Ajouté par Frédéric Péters il y a environ 3 ans. Mis à jour il y a environ 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
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

Révision ea731d19 (diff)
Ajouté par Frédéric Péters il y a environ 3 ans

misc: do not save autocomplete url when there's no session (#52060)

Historique

#1

Mis à jour par Frédéric Péters il y a environ 3 ans

#2

Mis à jour par Paul Marillonnet il y a environ 3 ans

  • Statut changé de Solution proposée à Solution validée
#3

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)
#4

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

Formats disponibles : Atom PDF