Add related object link permission support.
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user