Add related object link permission support.

This commit is contained in:
Roberto Rosario
2016-03-29 16:27:53 -04:00
parent 0783806fd1
commit 739b96ed37
2 changed files with 4 additions and 2 deletions

View File

@@ -55,6 +55,7 @@ class AccessControlListManager(models.Manager):
permission.stored_permission for permission in permissions
]
except TypeError:
# Not a list of permissions, just one
stored_permissions = [permissions.stored_permission]
if related:

View File

@@ -202,7 +202,7 @@ class Link(object):
def __init__(self, text, view, args=None, condition=None,
conditional_disable=None, description=None, icon=None,
keep_query=False, kwargs=None, permissions=None,
remove_from_query=None, tags=None):
permissions_related=None, remove_from_query=None, tags=None):
self.args = args or []
self.condition = condition
@@ -245,7 +245,8 @@ class Link(object):
if resolved_object:
try:
AccessControlList.objects.check_access(
self.permissions, request.user, resolved_object
self.permissions, request.user, resolved_object,
related=getattr(self, 'permissions_related', None)
)
except PermissionDenied:
return None