PEP8 and Pylint cleanups
This commit is contained in:
@@ -5,7 +5,7 @@ from django.shortcuts import get_object_or_404
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.utils.translation import ugettext
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.core.exceptions import PermissionDenied
|
||||
|
||||
from permissions import PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT, \
|
||||
PERMISSION_ROLE_CREATE, PERMISSION_ROLE_DELETE, \
|
||||
@@ -13,6 +13,7 @@ from permissions import PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT, \
|
||||
|
||||
from models import Permission, Role
|
||||
|
||||
|
||||
def register_permissions(namespace, permissions):
|
||||
if permissions:
|
||||
for permission in permissions:
|
||||
@@ -25,18 +26,19 @@ def register_permissions(namespace, permissions):
|
||||
#Special case for ./manage.py syncdb
|
||||
pass
|
||||
|
||||
|
||||
#TODO: Handle anonymous users
|
||||
def check_permissions(requester, namespace, permission_list):
|
||||
if isinstance(requester, User):
|
||||
if requester.is_superuser:
|
||||
return True
|
||||
|
||||
|
||||
for permission_item in permission_list:
|
||||
permission = get_object_or_404(Permission,
|
||||
namespace=namespace, name=permission_item)
|
||||
if check_permission(requester, permission):
|
||||
return True
|
||||
|
||||
|
||||
raise PermissionDenied(ugettext(u'Insufficient permissions.'))
|
||||
|
||||
|
||||
@@ -44,13 +46,13 @@ def check_permission(requester, permission):
|
||||
for permission_holder in permission.permissionholder_set.all():
|
||||
if check_requester(requester, permission_holder):
|
||||
return True
|
||||
|
||||
|
||||
|
||||
|
||||
def check_requester(requester, permission_holder):
|
||||
ct = ContentType.objects.get_for_model(requester)
|
||||
if permission_holder.holder_type == ct and permission_holder.holder_id == requester.id:
|
||||
return True
|
||||
|
||||
|
||||
if isinstance(permission_holder.holder_object, Role):
|
||||
requester_list = [role_member.member_object for role_member in permission_holder.holder_object.rolemember_set.all()]
|
||||
if check_elements(requester, requester_list):
|
||||
@@ -71,10 +73,10 @@ def check_elements(requester, requester_list):
|
||||
|
||||
|
||||
register_permissions('permissions', [
|
||||
{'name':PERMISSION_ROLE_VIEW, 'label':_(u'View roles')},
|
||||
{'name':PERMISSION_ROLE_EDIT, 'label':_(u'Edit roles')},
|
||||
{'name':PERMISSION_ROLE_CREATE, 'label':_(u'Create roles')},
|
||||
{'name':PERMISSION_ROLE_DELETE, 'label':_(u'Delete roles')},
|
||||
{'name':PERMISSION_PERMISSION_GRANT, 'label':_(u'Grant permissions')},
|
||||
{'name':PERMISSION_PERMISSION_REVOKE, 'label':_(u'Revoke permissions')},
|
||||
{'name': PERMISSION_ROLE_VIEW, 'label':_(u'View roles')},
|
||||
{'name': PERMISSION_ROLE_EDIT, 'label':_(u'Edit roles')},
|
||||
{'name': PERMISSION_ROLE_CREATE, 'label':_(u'Create roles')},
|
||||
{'name': PERMISSION_ROLE_DELETE, 'label':_(u'Delete roles')},
|
||||
{'name': PERMISSION_PERMISSION_GRANT, 'label':_(u'Grant permissions')},
|
||||
{'name': PERMISSION_PERMISSION_REVOKE, 'label':_(u'Revoke permissions')},
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user