Reputation: 2270
I'm working extending wagtail and i'm using a the next hook:
python
@hooks.register('register_settings_menu_item')
def register_django_admin_menu_item():
return MenuItem(_('Site Admin'), '/django-admin', classnames='icon icon-wagtail-inverse', order=20000)
And i get a link for the django admin page, but i want to restrict that item only to user that have staff permission.
How can i do it?
Upvotes: 0
Views: 818
Reputation: 2594
Try this one:
class CustomAdminMenuItem(MenuItem):
def is_shown(self, request):
return request.user.is_staff
@hooks.register('register_admin_menu_item')
def register_custom_admin_menu_item():
return CustomAdminMenuItem(_('Site Admin'), reverse('admin_menu'), classnames='icon icon-folder-inverse', order=20000)
Upvotes: 4
Reputation: 2014
There's a decorator for that:
from django.contrib.admin.views.decorators import staff_member_required
@staff_member_required
@hooks.register('register_settings_menu_item')
def register_django_admin_menu_item():
return MenuItem(_('Site Admin'), '/django-admin', classnames='icon icon-wagtail-inverse', order=20000)
Upvotes: -1