Click here to Skip to main content
15,884,010 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Here is my custom permission template tag(templatetags/init.py, user_perm.py):
Python
from django import template
from django.contrib.auth.models import Permission
from django.shortcuts import get_object_or_404

register = template.Library()

@register.filter(name='has_perm')
def has_perm(user, perm_name):
    perm = get_object_or_404(Permission, name=perm_name)
    perms = perm.permissions.all()
    if perms:
        return perm in user.get_all_permissions()
    else:
        return ""

and here is a my template usage:

.
HTML
..
{% load  user_perm %}
...
          {% if request.user|has_perm:"staff" %}
                    <h6><span id="sent">No teams are defined, but you can</span>
                        <a
                            class="btn btn-default btn-mini" id="action_text"
                            href='{% url "committee-create" project.slug %}'> create one
                        </a>
                   </h6>
          {% endif %}


What I have tried:

Calling permissions in templates such as superuser not working, calling all user permissions in templatetag to filter the parsed permission in template.
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900