diff --git a/wagtail/wagtailsites/templates/wagtailsites/edit.html b/wagtail/wagtailsites/templates/wagtailsites/edit.html
index 96e06e2b0..5bb27278c 100644
--- a/wagtail/wagtailsites/templates/wagtailsites/edit.html
+++ b/wagtail/wagtailsites/templates/wagtailsites/edit.html
@@ -21,7 +21,7 @@
- {% if perms.site.delete_site %}
+ {% if perms.wagtailcore.delete_site %}
{% trans "Delete site" %}
{% endif %}
diff --git a/wagtail/wagtailsites/templates/wagtailsites/index.html b/wagtail/wagtailsites/templates/wagtailsites/index.html
index 9481ca77d..ddf0abc02 100644
--- a/wagtail/wagtailsites/templates/wagtailsites/index.html
+++ b/wagtail/wagtailsites/templates/wagtailsites/index.html
@@ -3,7 +3,7 @@
{% block titletag %}{% trans "Sites" %}{% endblock %}
{% block content %}
{% trans "Sites" as sites_str %}
- {% if perms.site.add_site %}
+ {% if perms.wagtailcore.add_site %}
{% trans "Add a site" as add_a_site_str %}
{% include "wagtailadmin/shared/header.html" with title=sites_str add_link="wagtailsites:add" add_text=add_a_site_str icon="site" %}
{% else %}
diff --git a/wagtail/wagtailsites/views.py b/wagtail/wagtailsites/views.py
index 8d98ad431..b88d03b54 100644
--- a/wagtail/wagtailsites/views.py
+++ b/wagtail/wagtailsites/views.py
@@ -7,9 +7,10 @@ from wagtail.wagtailcore.models import Site
from wagtail.wagtailsites.forms import SiteForm
from wagtail.wagtailadmin import messages
+
def user_has_site_model_perm(user):
for verb in ['add', 'change', 'delete']:
- if user.has_perm('site.%s_site' % verb):
+ if user.has_perm('wagtailcore.%s_site' % verb):
return True
return False
@@ -22,7 +23,7 @@ def index(request):
})
-@permission_required('site.add_site')
+@permission_required('wagtailcore.add_site')
def create(request):
if request.POST:
form = SiteForm(request.POST)
@@ -42,7 +43,7 @@ def create(request):
})
-@permission_required('site.change_site')
+@permission_required('wagtailcore.change_site')
def edit(request, site_id):
site = get_object_or_404(Site, id=site_id)
@@ -65,7 +66,7 @@ def edit(request, site_id):
})
-@permission_required('site.delete_site')
+@permission_required('wagtailcore.delete_site')
def delete(request, site_id):
site = get_object_or_404(Site, id=site_id)
diff --git a/wagtail/wagtailsites/wagtail_hooks.py b/wagtail/wagtailsites/wagtail_hooks.py
index 410ba0c51..ae837d5c6 100644
--- a/wagtail/wagtailsites/wagtail_hooks.py
+++ b/wagtail/wagtailsites/wagtail_hooks.py
@@ -17,7 +17,12 @@ def register_admin_urls():
class SitesMenuItem(MenuItem):
def is_shown(self, request):
- return request.user.is_superuser
+ return (
+ request.user.has_perm('wagtailcore.add_site')
+ or request.user.has_perm('wagtailcore.edit_site')
+ or request.user.has_perm('wagtailcore.delete_site')
+ )
+
@hooks.register('register_settings_menu_item')
def register_sites_menu_item():