From ff97dd55e72abad54f753a122b94a979eadd0a20 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 14 Aug 2015 14:50:55 -0400 Subject: [PATCH] Implement related object ACL access check. --- mayan/apps/acls/managers.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mayan/apps/acls/managers.py b/mayan/apps/acls/managers.py index 871d26feba..7728ac1930 100644 --- a/mayan/apps/acls/managers.py +++ b/mayan/apps/acls/managers.py @@ -45,7 +45,7 @@ class AccessControlListManager(models.Manager): except self.model.DoesNotExist: return StoredPermission.objects.none() - def check_access(self, permissions, user, obj): + def check_access(self, permissions, user, obj, related=None): if user.is_superuser or user.is_staff: return True @@ -56,6 +56,9 @@ class AccessControlListManager(models.Manager): except TypeError: stored_permissions = [permissions.stored_permission] + if related: + obj = getattr(obj, related) + user_roles = [] for group in user.groups.all(): for role in group.roles.all():