Bug #57720
'FileWithPreviewWidget' object has no attribute 'field'
Début:
10 octobre 2021
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Champ fichier en option de workflow,
Exception: type = '<class 'AttributeError'>', value = ''FileWithPreviewWidget' object has no attribute 'field'' Stack trace (most recent call first): File "/usr/lib/python3/dist-packages/wcs/qommon/form.py", line 779, in set_value 777 exception=e, 778 ) > 779 self.value = None 780 781 def add_media(self): locals: self = <FileWithPreviewWidget at 7f6415ffbc18: f1> value = '\n ' File "/usr/lib/python3/dist-packages/wcs/qommon/form.py", line 753, in __init__ 751 self.add(FileWidget, 'file', render_br=False, attrs=attrs) 752 if value: > 753 self.set_value(value) 754 755 def is_image(self): locals: attrs = {'data-url': '/tmp-upload?storage=default'} kwargs = {'title': 'Catalogue', 'hint': None, 'required': True, 'render_br': False, 'allow_portfolio_picking': False, 'id': 'f1', 'form': <wcs.qommon.form.Form object at 0x7f6415457da0>} name = 'f1' self = <FileWithPreviewWidget at 7f6415ffbc18: f1> value = '\n ' File "/usr/lib/python3/dist-packages/quixote/form/form.py", line 235, in add 233 kwargs['id'] = name 234 kwargs['form'] = self > 235 widget = widget_class(name, *args, **kwargs) 236 self._names[name] = widget 237 if isinstance(widget, SubmitWidget): locals: args = () kwargs = {'title': 'Catalogue', 'hint': None, 'required': True, 'render_br': False, 'value': '\n ', 'file_type': [], 'max_file_size': None, 'allow_portfolio_picking': False, 'automatic_image_resize': False, 'storage': 'default', 'id': 'f1', 'form': <wcs.qommon.form.Form object at 0x7f6415457da0>} name = 'f1' self = <wcs.qommon.form.Form object at 0x7f6415457da0> widget_class = <class 'wcs.qommon.form.FileWithPreviewWidget'> File "/usr/lib/python3/dist-packages/wcs/qommon/form.py", line 285, in add 283 advanced = True 284 del kwargs['advanced'] > 285 QuixoteForm.add(self, widget_class, name, *args, **kwargs) 286 widget = self._names[name] 287 if 'id' not in kwargs and 'id' in widget.attrs: locals: advanced = False args = () kwargs = {'title': 'Catalogue', 'hint': None, 'required': True, 'render_br': False, 'value': '\n ', 'file_type': [], 'max_file_size': None, 'allow_portfolio_picking': False, 'automatic_image_resize': False, 'storage': 'default'} name = 'f1' self = <wcs.qommon.form.Form object at 0x7f6415457da0> widget_class = <class 'wcs.qommon.form.FileWithPreviewWidget'> File "/usr/lib/python3/dist-packages/wcs/fields.py", line 655, in add_to_form 653 else: 654 hint = self.hint > 655 form.add(self.widget_class, 'f%s' % self.id, title=self.label, hint=hint, **kwargs) 656 widget = form.get_widget('f%s' % self.id) 657 widget.field = self locals: form = <wcs.qommon.form.Form object at 0x7f6415457da0> hint = None k = 'storage' kwargs = {'required': True, 'render_br': False, 'value': '\n ', 'file_type': [], 'max_file_size': None, 'allow_portfolio_picking': False, 'automatic_image_resize': False, 'storage': 'default'} self = <FileField 1 'Catalogue'> value = '\n ' File "/usr/lib/python3/dist-packages/wcs/formdef.py", line 674, in add_fields_to_form 672 if not field.add_to_form: 673 continue > 674 widget = field.add_to_form(form, value) 675 widget.is_hidden = not (visible) 676 widget.field = field locals: displayed_fields = None field = <FileField 1 'Catalogue'> form = <wcs.qommon.form.Form object at 0x7f6415457da0> form_data = {'1': '\n '} on_page = True page = None self = <WorkflowVariablesFieldsFormDef 'Options du workflow «\xa0Réservation Journée Job Eté Etudiants\xa0»' id:None> transient_formdata = None value = '\n ' visible = True File "/usr/lib/python3/dist-packages/wcs/admin/forms.py", line 1636, in workflow_variables 1634 form = Form(enctype='multipart/form-data') 1635 self.formdef.workflow.variables_formdef.add_fields_to_form( > 1636 form, form_data=self.formdef.get_variable_options_for_form() 1637 ) 1638 form.add_submit('submit', _('Submit')) locals: form = <wcs.qommon.form.Form object at 0x7f6415457da0> self = <wcs.admin.forms.FormDefPage object at 0x7f64161277b8> [...] PATH_INFO '/backoffice/forms/180/workflow-variables'
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Frédéric Péters
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Fichier 0001-misc-do-not-crash-on-invalid-file-value-in-workflow-.patch 0001-misc-do-not-crash-on-invalid-file-value-in-workflow-.patch ajouté
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Lauréline Guérin il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
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 87b31ed09d65a2a770f832327d07cdee499900d1 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sat Oct 16 13:54:21 2021 +0200 misc: do not crash on invalid file value in workflow variables (#57720)
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: do not crash on invalid file value in workflow variables (#57720)