When editing a milestone in admin UI, BBA crashes:
025-03-15 17:19:03 ERROR [blockerbugs ] Exception on /admin/milestone/edit/ [GET] Traceback (most recent call last): File "/opt/app-root/lib64/python3.11/site-packages/flask/app.py", line 2529, in wsgi_app response = self.full_dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/flask/app.py", line 1825, in full_dispatch_request rv = self.handle_user_exception(e) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/flask/app.py", line 1823, in full_dispatch_request rv = self.dispatch_request() ^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/flask/app.py", line 1799, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/flask_admin/base.py", line 69, in inner return self._run_view(f, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/flask_admin/base.py", line 369, in _run_view return fn(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/flask_admin/model/base.py", line 2149, in edit_view form = self.edit_form(obj=model) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/flask_admin/model/base.py", line 1340, in edit_form return self._edit_form_class(get_form_data(), obj=obj) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/wtforms/form.py", line 209, in __call__ return type.__call__(cls, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/flask_admin/form/__init__.py", line 22, in __init__ super(BaseForm, self).__init__(formdata=formdata, obj=obj, prefix=prefix, **kwargs) File "/opt/app-root/lib64/python3.11/site-packages/wtforms/form.py", line 281, in __init__ super().__init__(self._unbound_fields, meta=meta_obj, prefix=prefix) File "/opt/app-root/lib64/python3.11/site-packages/wtforms/form.py", line 49, in __init__ field = meta.bind_field(self, unbound_field, options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/wtforms/meta.py", line 28, in bind_field return unbound_field.bind(form=form, **options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/wtforms/fields/core.py", line 387, in bind return self.field_class(*self.args, **kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/app-root/lib64/python3.11/site-packages/wtforms/fields/core.py", line 133, in __init__ for k, v in flags.items(): ^^^^^^^^^^^ AttributeError: 'tuple' object has no attribute 'items'
From @lbrabec:
from quick google search I did yesterday it seems that WTForms introduced breaking changes in 3.2.0. They are addressed in Flask-Admin 2.0.0, which is currently in alpha phase… so for now we could try to pin WTForms to 3.1.2 and wait for new version of Flask-Admin to be released (which may bring incompatibilities by itself, guessing from the major version bump)
PR in #292
Commit 5ef141be fixes this issue
The fix is now in develop.
develop
@jskladan or @lbrabec Can you please deploy develop to BBA staging? Thanks!
Metadata Update from @kparal: - Issue status updated to: Open (was: Closed)
Milestone editing works on staging, I'll merge this to master and tag a new release.
master
The fix is in master, and I tagged the 1.12 release.
1.12
@lbrabec Can you please deploy to production?
Done.
I've set F42 Final milestone as current, and it worked. This is now resolved. Thanks everyone for your help.
Metadata Update from @kparal: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
This issue has been migrated to Fedora Forge: https://forge.fedoraproject.org/quality/blockerbugs/issues/291
Please continue any further discussion there.
Log in to comment on this ticket.