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.title }}

-

{{ flatpage.content }}

+{% load permissions %} + + + {{ flatpage.title }} + + +

Title: {{ flatpage.title }}

+

Content: {{ flatpage.content }}

+

Examples

+
    +
  1. The permissions granted for this flatpage: + + {% get_permissions flatpage for request.user %} + + + {% get_permissions flatpage for request.user as "request_user_permissions" %} + + + {% get_permissions flatpage as "all_permissions" %} + + +
  2. + +
  3. Permission form for adding a specific permission "add_flatpage" {% permission_form flatpage "add_flatpage" %} +
  4. -{% get_permissions_for flatpage %} +
  5. Permission form with a list of options queried from the authority +{% permission_form flatpage %} -{% for perm in permissions %} -

    {{ perm.user }}: {{ perm }} {% permission_delete_link perm %}

    -{% endfor %} +

    Can I change this flatpage?

    +

    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 %} +
    +
  6. +
+ + \ No newline at end of file