.. _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:: {% if hasperm "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 %}