Final changes to support permissions and roles
This commit is contained in:
@@ -2,9 +2,6 @@ import copy
|
||||
|
||||
from django.db.utils import DatabaseError
|
||||
|
||||
from permissions.utils import has_permission
|
||||
from permissions.models import Permission
|
||||
|
||||
|
||||
object_navigation = {}
|
||||
menu_links = []
|
||||
@@ -44,25 +41,3 @@ def register_model_list_columns(model, columns):
|
||||
model_list_columns[model].extend(columns)
|
||||
else:
|
||||
model_list_columns[model] = copy.copy(columns)
|
||||
|
||||
|
||||
def register_permissions(app, permissions):
|
||||
if permissions:
|
||||
for permission in permissions:
|
||||
full_permission_name = "%s_%s" % (app, permission['name'])
|
||||
try:
|
||||
#if not Permission.objects.filter(codename=full_permission_name):
|
||||
# Permission(name=unicode(permission['label']), codename=full_permission_name).save()
|
||||
permission_obj, created = Permission.objects.get_or_create(codename=full_permission_name)
|
||||
permission_obj.name=unicode(permission['label'])
|
||||
permission_obj.save()
|
||||
except DatabaseError:
|
||||
#Special case for ./manage.py syncdb
|
||||
pass
|
||||
|
||||
|
||||
def check_permissions(object, user, permission_list):
|
||||
temp_role = []
|
||||
for permission in permission_list:
|
||||
if has_permission(object, user, permission):
|
||||
return True
|
||||
|
||||
@@ -1,7 +1,17 @@
|
||||
{% load i18n %}
|
||||
{% load permission_tags %}
|
||||
|
||||
{% for link in object_navigation_links %}
|
||||
{% if link.permissions %}
|
||||
{% check_permissions request.user link.permissions.namespace link.permissions.permissions %}
|
||||
{% if permission %}
|
||||
{% if as_li %}<li>{% endif %}
|
||||
<a class="{{ link.class }}" href="{{ link.url }}">{% if link.famfam %}<span class="famfam active famfam-{{ link.famfam|default:'link' }}"></span>{% endif %}{{ link.text|capfirst }}{% if link.error %} - {{ link.error }}{% endif %}{% if link.active %}<span class="famfam active famfam-resultset_previous"></span>{% endif %}</a>{% if horizontal %}{% if not forloop.last %} | {% endif %}{% endif %}
|
||||
{% if as_li %}</li>{% endif %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if as_li %}<li>{% endif %}
|
||||
<a class="{{ link.class }}" href="{{ link.url }}">{% if link.famfam %}<span class="famfam active famfam-{{ link.famfam|default:'link' }}"></span>{% endif %}{{ link.text|capfirst }}{% if link.error %} - {{ link.error }}{% endif %}{% if link.active %}<span class="famfam active famfam-resultset_previous"></span>{% endif %}</a>{% if horizontal %}{% if not forloop.last %} | {% endif %}{% endif %}
|
||||
{% if as_li %}</li>{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
Reference in New Issue
Block a user