Move manager get code to ModelPermission class

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-08-05 00:20:06 -04:00
parent bdbc7ef086
commit eb1fb8511b
2 changed files with 15 additions and 12 deletions

View File

@@ -98,6 +98,20 @@ class ModelPermission(object):
def get_inheritance(cls, model):
return cls._inheritances[model]
@classmethod
def get_manager(cls, model):
try:
manager_name = cls.get_manager_name(model=model)
except KeyError:
manager_name = None
if manager_name:
manager = getattr(model, manager_name)
else:
manager = model._meta.default_manager
return manager
@classmethod
def get_manager_name(cls, model):
return cls._manager_names[model]

View File

@@ -216,18 +216,7 @@ class AccessControlListManager(models.Manager):
)
return True
else:
try:
manager_name = ModelPermission.get_manager_name(
model=meta.model
)
except KeyError:
manager_name = None
if manager_name:
manager = getattr(obj._meta.model, manager_name)
else:
manager = obj._meta.default_manager
manager = ModelPermission.get_manager(model=obj._meta.model)
source_queryset = manager.all()
restricted_queryset = manager.none()