From d94b41554bd263627d0bec24b5926921b4c60db1 Mon Sep 17 00:00:00 2001 From: Martin Hauser Date: Fri, 23 Jan 2026 18:31:16 +0100 Subject: [PATCH] fix(nav): Show Authentication admin menu items based on object perms Replace hardcoded menu entries for Users, Groups, API Tokens, and Permissions with `get_model_item()`. This drops the `staff_only` gate and relies on the standard model permission checks, restoring visibility of these Admin menu items for non-superusers with the relevant object permissions. Fixes #21242 --- netbox/netbox/navigation/menu.py | 58 +++----------------------------- 1 file changed, 4 insertions(+), 54 deletions(-) diff --git a/netbox/netbox/navigation/menu.py b/netbox/netbox/navigation/menu.py index 052200f47..f19fffcd8 100644 --- a/netbox/netbox/navigation/menu.py +++ b/netbox/netbox/navigation/menu.py @@ -409,60 +409,10 @@ ADMIN_MENU = Menu( MenuGroup( label=_('Authentication'), items=( - MenuItem( - link='users:user_list', - link_text=_('Users'), - staff_only=True, - permissions=['users.view_user'], - buttons=( - MenuItemButton( - link='users:user_add', - title='Add', - icon_class='mdi mdi-plus-thick', - permissions=['users.add_user'] - ), - MenuItemButton( - link='users:user_bulk_import', - title='Import', - icon_class='mdi mdi-upload', - permissions=['users.add_user'] - ) - ) - ), - MenuItem( - link='users:group_list', - link_text=_('Groups'), - staff_only=True, - permissions=['users.view_group'], - buttons=( - MenuItemButton( - link='users:group_add', - title='Add', - icon_class='mdi mdi-plus-thick', - permissions=['users.add_group'] - ), - MenuItemButton( - link='users:group_bulk_import', - title='Import', - icon_class='mdi mdi-upload', - permissions=['users.add_group'] - ) - ) - ), - MenuItem( - link='users:token_list', - link_text=_('API Tokens'), - staff_only=True, - permissions=['users.view_token'], - buttons=get_model_buttons('users', 'token') - ), - MenuItem( - link='users:objectpermission_list', - link_text=_('Permissions'), - staff_only=True, - permissions=['users.view_objectpermission'], - buttons=get_model_buttons('users', 'objectpermission', actions=['add']) - ), + get_model_item('users', 'user', _('Users')), + get_model_item('users', 'group', _('Groups')), + get_model_item('users', 'token', _('API Tokens')), + get_model_item('users', 'objectpermission', _('Permissions'), actions=['add']), ), ), MenuGroup(