diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/pages/_view_permission_indicator.html b/wagtail/wagtailadmin/templates/wagtailadmin/pages/_view_permission_indicator.html
new file mode 100644
index 000000000..7f9c7d82b
--- /dev/null
+++ b/wagtail/wagtailadmin/templates/wagtailadmin/pages/_view_permission_indicator.html
@@ -0,0 +1,6 @@
+{% load i18n %}
+{% if page.get_view_restrictions %}
+
{% trans 'Private' %}
+{% else %}
+ {% trans 'Public' %}
+{% endif %}
diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/pages/edit.html b/wagtail/wagtailadmin/templates/wagtailadmin/pages/edit.html
index 8cc7fdca6..e56ad170c 100644
--- a/wagtail/wagtailadmin/templates/wagtailadmin/pages/edit.html
+++ b/wagtail/wagtailadmin/templates/wagtailadmin/pages/edit.html
@@ -16,6 +16,9 @@
+
+ {% include "wagtailadmin/pages/_view_permission_indicator.html" with page=page only %}
+
diff --git a/wagtail/wagtailadmin/templates/wagtailadmin/pages/list.html b/wagtail/wagtailadmin/templates/wagtailadmin/pages/list.html
index 7258c5429..5fe32838e 100644
--- a/wagtail/wagtailadmin/templates/wagtailadmin/pages/list.html
+++ b/wagtail/wagtailadmin/templates/wagtailadmin/pages/list.html
@@ -48,6 +48,9 @@
{% else %}
{{ parent_page.title }}
{% endif %}
+
+ {% include "wagtailadmin/pages/_view_permission_indicator.html" with page=parent_page only %}
+
{% if parent_page_perms.can_edit and 'edit' not in hide_actions|default:'' %}
- {% trans 'Edit' %}
@@ -249,4 +252,4 @@
-{% endif %}
\ No newline at end of file
+{% endif %}
diff --git a/wagtail/wagtailcore/models.py b/wagtail/wagtailcore/models.py
index 08e1b612b..8670f0315 100644
--- a/wagtail/wagtailcore/models.py
+++ b/wagtail/wagtailcore/models.py
@@ -811,6 +811,9 @@ class Page(six.with_metaclass(PageBase, MP_Node, ClusterableModel, Indexed)):
def get_prev_siblings(self, inclusive=False):
return self.get_siblings(inclusive).filter(path__lte=self.path).order_by('-path')
+ def get_view_restrictions(self):
+ return PageViewRestriction.objects.filter(page__in=self.get_ancestors(inclusive=True))
+
password_required_template = getattr(settings, 'PASSWORD_REQUIRED_TEMPLATE', 'wagtailcore/password_required.html')
def serve_password_required_response(self, request, form, action_url):
"""
diff --git a/wagtail/wagtailcore/wagtail_hooks.py b/wagtail/wagtailcore/wagtail_hooks.py
index b2ab31248..e92971c99 100644
--- a/wagtail/wagtailcore/wagtail_hooks.py
+++ b/wagtail/wagtailcore/wagtail_hooks.py
@@ -1,11 +1,10 @@
from django.core.urlresolvers import reverse
from wagtail.wagtailcore import hooks
-from wagtail.wagtailcore.models import PageViewRestriction
from wagtail.wagtailcore.forms import PasswordPageViewRestrictionForm
def check_view_restrictions(page, request):
- restrictions = PageViewRestriction.objects.filter(page__in=page.get_ancestors(inclusive=True))
+ restrictions = page.get_view_restrictions()
if restrictions:
passed_restrictions = request.session.get('passed_page_view_restrictions', [])