From 2d710ad3b9028bcf82eda69d8e0fa28946be14af Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Wed, 8 Jul 2015 03:52:15 -0400 Subject: [PATCH] Fix chicken & egg problem for permissions when the dataset doesn't exists. --- mayan/apps/acls/classes.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mayan/apps/acls/classes.py b/mayan/apps/acls/classes.py index f8eae62b71..08ed36eaa4 100644 --- a/mayan/apps/acls/classes.py +++ b/mayan/apps/acls/classes.py @@ -2,6 +2,8 @@ from __future__ import unicode_literals, absolute_import import logging +from permissions.models import StoredPermission + logger = logging.getLogger(__name__) @@ -12,11 +14,10 @@ class ModelPermission(object): def register(cls, model, permissions): cls._registry.setdefault(model, []) for permission in permissions: - cls._registry[model].append(permission.stored_permission.pk) + cls._registry[model].append(permission) @classmethod def get_for_instance(cls, instance): - from permissions.models import StoredPermission - - pks = cls._registry.get(type(instance), ()) + permissions = cls._registry.get(type(instance), ()) + pks = [permission.stored_permission.pk for permission in permissions] return StoredPermission.objects.filter(pk__in=pks)