#291 Can't edit a milestone in admin UI
Closed: Fixed by kparal. Opened by kparal.

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)

The fix is now in 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.

The fix is in master, and I tagged the 1.12 release.

@lbrabec Can you please deploy to production?

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.

Metadata
Related Pull Requests