Projet

Général

Profil

Bug #30918

bug soumission demande tableau vide

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

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
26 février 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

De #30826, formulaire en pièce jointe.

Données manuellement anonymisées ici,

     filled_data = {'45': None, '88_display': 'Pr\xc3\xa9sident', '37': ['NON'], '42_display': 'OUI', '21_display': 'OUI', '36': None, '91': ['OUI'], '62': <PicklableUpload at 7fe9200ff638: RIB TTC.JPG>, '110': 'Sportive', '67': <PicklableUpload at 7fe9200ff5a8: Cerfa 12156-05.pdf>, '35_display': 'NON', '83': None, '41': '15', '86': '37981561600014', '93': 'TENNIS CLUB', '44_display': 'NON', '25': time.struct_time(tm_year=2018, tm_mon=9, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=244, tm_isdst=-1), '26': time.struct_time(tm_year=2019, tm_mon=8, tm_mday=31, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=243, tm_isdst=-1), '92': None, '20': [['150', '175', '-', '-'], ['185', '235', '-', '-'], ['185', '-', '-', '-'], [None, None, None, None]], '21': ['OUI'], '79': [['11', '1', None, None], ['45', '10', None, None]], '95': '06140', '44': ['NON'], '42': ['OUI'], '30_display': 'NON', '29': [['DAMES', '+ 35 ANS', 'DIVISION 1 REGIONALE', 'CHAMPIONANT 06', None], ['DAMES', 'SENIOR', 'DIVISION 1 REGIONALE', 'MONTEE DE DIVISION', None], ['HOMMES', '+ 35 ANS', 'DIVISION 1 DEPARTEMENTALE', None, None], ['HOMMES', 'SENIOR', 'DIVISION 1 DEPARTEMENTALE', 'MONTEE DE DIVISION', None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]], '87': None, '4': [['DICHARRY', 'JJACQUES', None, None, None, None, None, 'OUI'], ['DURISOTTI', 'MARIE CLAUDE', None, None, None, None, None, 'OUI'], ['DUPOND', 'ISABELLE', None, None, None, None, None, 'OUI'], ['MADI', 'LOTFI', None, None, None, None, None, 'OUI'], ['VINDRET', 'ANAIS', None, None, None, None, None, 'OUI'], ['VERCEIL', 'JEAN ELIAN', 'OUI', None, None, None, None, None], [None, None, None, None, None, None, None, None], [None, None, None, None, None, None, None, None], [None, None, None, None, None, None, None, None], [None, None, None, None, None, None, None, None], [None, None, None, None, None, None, None, None], [None, None, None, None, None, None, None, None], [None, None, None, None, None, None, None, None], [None, None, None, None, None, None, None, None], [None, None, None, None, None, None, None, None]], '14': '', '47': None, '51': 'JEAN JACQUES', '128': None, '46_display': 'NON', '77': <PicklableUpload at 7fe91bde2680: RAPPORT_AG_2017:2018.pdf>, '98': '0493592552', '75': <PicklableUpload at 7fe91bde2830: Attestation D'assurance Allianz  2019.PDF>, '74': None, '73': <PicklableUpload at 7fe91bde20e0: cerfa_15059-02.pdf>, '110_display': 'Sportive', '126': None, '37_display': 'NON', '102': 'PRATIQUE ET ENSEIGNEMENT DU TENNIS ', '100': None, '101': 'TTC', '106': 'Sportive', '94': '141 RUE XXX', '97': '0612940106', '96': 'TOURRETTES SUR LOUP', '10': '', '38': None, '59': <PicklableUpload at 7fe9200ff2d8: Avis INSEE.pdf>, '58': None, '76': None, '33': '15', '57': None, '30': ['NON'], '61': <PicklableUpload at 7fe9200ff7a0: RAPPORT_AG_2017:2018.pdf>, '88': 'Pr\xc3\xa9sident', '35': ['NON'], '34': ['OUI'], '99': 'xxx@free.fr', '46': ['NON'], '106_display': 'Sportive', '34_display': 'OUI', '91_display': 'OUI', '31': None, '50': 'XXX '}
  • restauration via un code de suivi
  • crash au submit
LINE 1: ...e2e'::bytea, backoffice_submission = false, f10 = '', f14 = ...
                                                             ^
DETAIL:  La valeur du tableau doit commencer avec  {  ou avec l'information de la
dimension.
)

Exception:
  type = '<class 'psycopg2.DataError'>', value = 'ERREUR:  tableau litral mal form :   
LINE 1: ...e2e'::bytea, backoffice_submission = false, f10 = '', f14 = ...
                                                             ^
DETAIL:  La valeur du tableau doit commencer avec  {  ou avec l'information de la dimension.

Fichiers

form-demande-de-subventions-2019.wcs (42,2 ko) form-demande-de-subventions-2019.wcs Frédéric Péters, 26 février 2019 19:27

Historique

#2

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

La trace pointée est finalement inintéressante, trop tardive, elle vient parce qu'une colonne de type tableau contient null, elle est restaurée sur la page de validation, ça s'affiche correctement, mais au submit ça se trouve mis "" vers la db et c'est le crash qu'on voit.

Mais le bug, il n'est pas là, il est avant, comment ce champ a pu ainsi devenir null; comme à la base le champ est obligatoire, ça ne vient a priori pas du moment de la saisie, ça viendrait au moment d'un roundtrip brouillon.

La donnée pourrait être mal restaurée et sauvegardée vide ? Pas réussi à reproduire quelque chose de la sorte.

Autre idée, la restauration depuis le brouillon aurait restauré l'usager sur une page ultérieure; genre la page contenant les tableaux est optionnelle (c'est le cas) et au retour de brouillon lors du compte des pages celle-ci aurait été sautée parce que les variables de la demande pas encore disponibles. Mais de ce que je peux tester ça n'arrive pas, les pages sont bien évaluées.

#3

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

Et si le caractère obligatoire avait changé durant la vie du draft ?

#4

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

Malgré tes explications et même si comme tu le signales le problème de fond est autre chose que cette trace je ne comprend pas pourquoi les données ne sont pas revalidées sur la page de validation, i.e. pourquoi le NULL est conservé, il me semble qu'au submit sur la page de validation tout est reparsé ou alors un bout de code m'échappe dans wcs.forms.root.FormPage.submitted() mais quand je vois filled.data = self.formdef.get_data(form) puis filled.store() je ne vois pas où les données initiales du draft sont conservées.

#5

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

  • Statut changé de Nouveau à Fermé
  • Planning mis à Non

Pas réussi à reproduire il y a cinq ans et ça ne me semble pas s'être rencontré à nouveau, il est temps de fermer.

Formats disponibles : Atom PDF