mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-05-12 17:23:15 +00:00
Wrap all admin urls to add access_admin permission
This commit is contained in:
parent
58ec974653
commit
27da6b2ddd
2 changed files with 19 additions and 0 deletions
9
wagtail/utils/urlpatterns.py
Normal file
9
wagtail/utils/urlpatterns.py
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
def decorate_urlpatterns(urlpatterns, decorator):
|
||||
for pattern in urlpatterns:
|
||||
if hasattr(pattern, 'url_patterns'):
|
||||
decorate_urlpatterns(pattern.url_patterns, decorator)
|
||||
|
||||
if hasattr(pattern, '_callback'):
|
||||
pattern._callback = decorator(pattern.callback)
|
||||
|
||||
return urlpatterns
|
||||
|
|
@ -1,8 +1,10 @@
|
|||
from django.conf.urls import url
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
|
||||
from wagtail.wagtailadmin.forms import PasswordResetForm
|
||||
from wagtail.wagtailadmin.views import account, chooser, home, pages, tags, userbar, page_privacy
|
||||
from wagtail.wagtailcore import hooks
|
||||
from wagtail.utils.urlpatterns import decorate_urlpatterns
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
|
|
@ -106,3 +108,11 @@ for fn in hooks.get_hooks('register_admin_urls'):
|
|||
urls = fn()
|
||||
if urls:
|
||||
urlpatterns += urls
|
||||
|
||||
|
||||
urlpatterns = decorate_urlpatterns(urlpatterns,
|
||||
permission_required(
|
||||
'wagtailadmin.access_admin',
|
||||
login_url='wagtailadmin_login'
|
||||
)
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in a new issue