Projet

Général

Profil

Bug #58316

préremplissage d'un champ texte avec une date (time.struct_time)

Ajouté par Frédéric Péters il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
02 novembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Ça trace ainsi :

Stack trace (most recent call first):
  File "/usr/lib/python3/dist-packages/wcs/sql.py", line 1784, in get_sql_dict_from_data
  1782                         value = {'data': json.loads(JSONEncoder().encode(value)), '@type': 'computed-data'}
  1783                 elif sql_type == 'varchar':
> 1784                     assert isinstance(value, str)
  1785                 elif sql_type == 'date':
  1786                     assert isinstance(value, time.struct_time)

  locals:
     data = {'114': 'Non', '114_display': 'Non', 'draft_formdata_id': 63, 'prefilling_data': {..., '106':
time.struct_time(tm_year=2000, tm_mon=2, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=52, tm_isdst=-1),...}, '106': time.struct_time(tm_year=2000, tm_mon=2, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=52, tm_isdst=-1),...}
     field = <StringField 106 'Date de naissance'>
     formdef = <FormDef 'QF EMS' id:419>
     self = <_wcs_Qf-Ems 'QF EMS - n°419-63' id:63>
     sql_dict = {...}
     sql_type = 'varchar'
     value = time.struct_time(tm_year=2000, tm_mon=2, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=52, tm_isdst=-1)

Fichiers

Révisions associées

Révision b104b43d (diff)
Ajouté par Frédéric Péters il y a plus de 2 ans

fields: add support for converting date value to string field (#58316)

Historique

#2

Mis à jour par Frédéric Péters il y a plus de 2 ans

Il y a l'introduction d'un keep_raw_value posé sur le champ qui est un peu moche, ça pourrait peut-être juste être déduit de store_display_value mais ça serait moche aussi, donc j'ai préféré l'explicite.

Alternativement ne pas faire ça la seule conséquence c'est des clés _raw en plus dans les résultats de formulaires de workflow (qu'on voit dans le build en échec, https://jenkins.entrouvert.org/job/wcs-wip/job/wip%252F58316-date-prefill-string-field/1/ ) mais si jamais des variables apparaissent je suis sûr qu'il y aura bien quelqu'un pour les utiliser et je n'ai pas envie de pérenniser celles-ci.

#3

Mis à jour par Thomas Noël il y a plus de 2 ans

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

Ma foi... j'ai fait un grep de l'usage de convert_value_to_str et ton plan me semble bon.

J'ai eu un peu de mal au début à comprendre le "keep_raw_value" mais je ne vois pas bien quel commentaire lui ajouter pour l'expliciter...

Bref, go.

#4

Mis à jour par Frédéric Péters il y a plus de 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit b104b43dee178f9aabb4f1c12d6ff530421c1f84
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Nov 2 14:08:18 2021 +0100

    fields: add support for converting date value to string field (#58316)
#5

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

Formats disponibles : Atom PDF