Wrap all admin urls to add access_admin permission

This commit is contained in:
Karl Hobley 2015-01-19 12:46:30 +00:00
parent 58ec974653
commit 27da6b2ddd
2 changed files with 19 additions and 0 deletions

View 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

View file

@ -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'
)
)