Projet

Général

Profil

Development #54131

ne pas planter sur un préremplissage de champ fichier fait avec une chaine de caractères

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

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

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

C'est arrivé plusieurs fois récemment, soit avec un nom de fichier (parce que gabarit django) soit avec un contenu invalide (une chaine "b'/9j/4AAQSkZJRgABAQAAAQABAAD/4Q...'", sans doute un accès python/django à un attribut de type bytes).

Exception:
  type = '<class 'AttributeError'>', value = ''str' object has no attribute 'time''

Stack trace (most recent call first):
  File "/usr/lib/python3/dist-packages/wcs/qommon/sessions.py", line 267, in add_tempfile
   265             os.mkdir(dirname)
   266         token = randbytes(8)
>  267         upload.time = time.time()
   268         upload.token = token
   269         upload.storage = storage

  File "/usr/lib/python3/dist-packages/wcs/qommon/form.py", line 768, in set_value
   766                 # or because it was restored from a draft created from an expired
   767                 # session. Either way, create and use a new token.
>  768                 self.value.token = get_session().add_tempfile(self.value, storage=self.storage).get('token')
   769             self.get_widget('token').set_value(self.value.token)
   770

  File "/usr/lib/python3/dist-packages/wcs/forms/root.py", line 438, in apply_field_prefills
   436                 if not isinstance(v, str) and field.convert_value_to_str:
   437                     v = field.convert_value_to_str(v)
>  438                 widget.set_value(v)
   439                 widget.transfer_form_value(req)
   440

En cas de donnée invalide on devrait juste logguer l'erreur et continuer sans remplissage.


Fichiers


Demandes liées

Dupliqué par w.c.s. - Bug #55467: AttributeError: 'str' object has no attribute 'time'Fermé08 juillet 2021

Actions

Révisions associées

Révision bb93f6a8 (diff)
Ajouté par Lauréline Guérin il y a plus de 2 ans

misc: split file field tests (#54131)

Révision fb0e9192 (diff)
Ajouté par Lauréline Guérin il y a plus de 2 ans

fields: fix file field prefill with wrong value (#54131)

Historique

#1

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

  • Dupliqué par Bug #55467: AttributeError: 'str' object has no attribute 'time' ajouté
#2

Mis à jour par Lauréline Guérin il y a plus de 2 ans

  • Assigné à mis à Lauréline Guérin
#4

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

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

Mis à jour par Lauréline Guérin il y a plus de 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit fb0e9192127a77e76a122729997b53dadfa02720
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Thu Sep 16 15:00:41 2021 +0200

    fields: fix file field prefill with wrong value (#54131)

commit bb93f6a8a9f7928b56784ad9ca261371ec52f7ed
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Thu Sep 16 14:35:48 2021 +0200

    misc: split file field tests (#54131)
#6

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