django-authority/docs/check_templates.txt
2014-02-21 13:22:58 +08:00

74 lines
1.7 KiB
Text

.. _check-templates:
==============================
Check permissions in templates
==============================
.. index::
single: ifhasperm
single: get_permissions
single: get_permission
django-authority provides a couple of template tags which allows you to get
permissions for a user (and a related object).
ifhasperm
=========
This function checks whether a permission is True or False for a user and
(optional) a related object.
Syntax::
{% ifhasperm [permission_label].[check_name] [user] [*objs] %}
lalala
{% else %}
meh
{% endifhasperm %}
Example::
{% ifhasperm "poll_permission.change_poll" request.user %}
lalala
{% else %}
meh
{% endifhasperm %}
get_permissions
===============
Retrieves all permissions associated with the given obj and user
and assigns the result to a context variable.
Syntax and example::
{% get_permissions obj %}
{% for perm in permissions %}
{{ perm }}
{% endfor %}
{% get_permissions obj as "my_permissions" %}
{% get_permissions obj for request.user as "my_permissions" %}
get_permission
==============
Performs a permission check with the given signature, user and objects and
assigns the result to a context variable.
Syntax::
{% get_permission [permission_label].[check_name] for [user] and [objs] as [varname] %}
Example::
{% get_permission "poll_permission.change_poll" for request.user and poll as "is_allowed" %}
{% get_permission "poll_permission.change_poll" for request.user and poll,second_poll as "is_allowed" %}
{% if is_allowed %}
I've got ze power to change ze pollllllzzz. Muahahaa.
{% else %}
Meh. No power for meeeee.
{% endif %}