Development #54131
ne pas planter sur un préremplissage de champ fichier fait avec une chaine de caractères
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
Révisions associées
fields: fix file field prefill with wrong value (#54131)
Historique
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é
Mis à jour par Lauréline Guérin il y a plus de 2 ans
- Fichier 0002-fields-fix-file-field-prefill-with-wrong-value-54131.patch 0002-fields-fix-file-field-prefill-with-wrong-value-54131.patch ajouté
- Fichier 0001-misc-split-file-field-tests-54131.patch 0001-misc-split-file-field-tests-54131.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
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)
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
misc: split file field tests (#54131)