Bug #24836
calcul workflow à base d'une source jsonp
Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
27 juin 2018
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Description
[2018-06-27 21:00:24] exception caught Exception: type = '<type 'exceptions.AttributeError'>', value = ''NoneType' object has no attribute 'form'' Stack trace (most recent call first): File "/usr/lib/python2.7/dist-packages/wcs/fields.py", line 1189, in store_display_value 1187 real_data_source = data_sources.get_real(self.data_source) 1188 if real_data_source and real_data_source.get('type') == 'jsonp': > 1189 display_value = get_request().form.get('f%s_display' % field_id) 1190 if display_value is None: 1191 if not get_session().jsonp_display_values: ... field_id = 'bo47' kwargs = {'url': '[passerelle_url]/csvdatasource/communes-lozere/data?case-insensitive', 'options': [(None, '---')]} real_data_source = {'type': 'jsonp', 'value': '[passerelle_url]/csvdatasource/communes-lozere/data?case-insensitive'} self = <wcs.fields.ItemField object at 0x7feeb4d13790> value = '48005' ... File "/usr/lib/python2.7/dist-packages/wcs/wf/backoffice_fields.py", line 115, in perform 113 if formdef_field.store_display_value: 114 display_value = formdef_field.store_display_value( > 115 formdata.data, formdef_field.id) 116 if display_value: 117 formdata.data['%s_display' % formdef_field.id] = display_value locals: field = {'field_id': 'bo47', 'value': '[installation_var_commune_raw]'} formdata = <Reseau-Accueil-Projet-Professionnel 'R\xc3\xa9seau accueil - Projet professionnel - n\xc2\xb017-119' id:119> formdef_field = <wcs.fields.ItemField object at 0x7feeb4d13790> new_value = '48005' self = <wcs.wf.backoffice_fields.SetBackofficeFieldsWorkflowStatusItem object at 0x7feeb5d14f50> x = <wcs.fields.FileField object at 0x7feeb4d13250>
Dans un traitement asynchrone (cron), crash parce que pas de get_request(). Pas étudié le workflow pour chercher du sens à tout ça.
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 6 ans
- Fichier 0001-misc-don-t-look-for-jsonp-display-value-in-a-cron-jo.patch 0001-misc-don-t-look-for-jsonp-display-value-in-a-cron-jo.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Patch pour éviter le crash, ça laissera le champ avec display_value = value mais sur une source de données qu'on ne peut pas interroger (jsonp, exploitable uniquement via le navigateur), on ne peut pas espérer autre chose.
(le vrai taf intéressant est de pouvoir exposer en jsonp des sources de données json)
Mis à jour par Thomas Noël il y a presque 6 ans
- Statut changé de Solution proposée à Solution validée
Ack
(A l'origine, dans le workflow : une donné de traitement de type liste, avec une datasource de type JSONP. Quand on lui affecte une valeur, il y a vérification versus le datasource, et boum.)
Mis à jour par Frédéric Péters il y a presque 6 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit e08f318c56d265abf393e23042a6784cb6354a0f Author: Frédéric Péters <fpeters@entrouvert.com> Date: Wed Jun 27 21:16:15 2018 +0200 misc: don't look for jsonp display value in a cron job (#24836)
Mis à jour par Frédéric Péters il y a plus de 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
misc: don't look for jsonp display value in a cron job (#24836)