diff --git a/example/exampleapp/permissions.py b/example/exampleapp/permissions.py index cd46269..8f0fa25 100644 --- a/example/exampleapp/permissions.py +++ b/example/exampleapp/permissions.py @@ -1,6 +1,15 @@ from django.contrib.flatpages.models import FlatPage -from authority.permissions import BasePermission +from django.utils.translation import ugettext_lazy as _ -class FlatPagePermission(BasePermission): +from authority import permissions + +class FlatPagePermissionSet(permissions.BasePermission): model = FlatPage label = 'flatpage_permission' + checks = ('top_secret',) + + def top_secret(self, flatpage=None): + if flatpage and flatpage.registration_required: + return self.can_browse(obj=flatpage) + return False + top_secret.verbose_name=_('Is allowed to see top secret flatpages') diff --git a/example/templates/flatpages/default.html b/example/templates/flatpages/default.html index 864217a..73a3ae3 100644 --- a/example/templates/flatpages/default.html +++ b/example/templates/flatpages/default.html @@ -1,11 +1,57 @@ -{% load permissions_tags %} -
{{ flatpage.content }}
+{% load permissions %} + + +Content: {{ flatpage.content }}
+{{ perm.user }}: {{ perm }} {% permission_delete_link perm %}
-{% endfor %} +Test for the default permission "can_change" of the custom permission set "flatpage_permission":
++{% ifhasperm "flatpage_permission.can_change" request.user %} +Yes, you are allowed. +{% else %} +Nope, sorry. +{% endifhasperm %} ++