You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(authorization): add Authorized Users UI for legacy access management
Replaces the inert Members/Groups panels (which silently failed under legacy
authorization — they wrote to Product_Member rows that legacy auth ignores)
with a working Authorized Users panel that reads/writes the actual M2M
that legacy authorization checks: Product.authorized_users and
Product_Type.authorized_users.
Both classic-Django UI trees (Tailwind and Classic Bootstrap) get the new
panel and lose the dead Members/Groups blocks. The OS templates leave
empty {% block rbac_members_panel %} / {% block rbac_groups_panel %} hooks
for Pro to override (Pro renders RBAC panels via its own template
overrides). Same treatment for the left-nav Groups link, which wraps the
removed link in a {% block groups_submenu_link %} hook.
Endpoints (gated on Permissions.{Product,Product_Type}_Manage_Members
which maps to Action.StaffOnly under legacy):
* /product/<pid>/authorized_users/add
* /product/<pid>/authorized_users/<user_id>/delete
* /product/type/<ptid>/authorized_users/add
* /product/type/<ptid>/authorized_users/<user_id>/delete
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments