From 718a49437a969aa0e633041e306c62ae9c92c969 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sat, 26 Aug 2017 01:58:56 -0400 Subject: [PATCH] Add get_classes method to the ModelPermission class. Signed-off-by: Roberto Rosario --- mayan/apps/acls/classes.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/mayan/apps/acls/classes.py b/mayan/apps/acls/classes.py index 5b34402425..fa5841d535 100644 --- a/mayan/apps/acls/classes.py +++ b/mayan/apps/acls/classes.py @@ -26,6 +26,22 @@ class ModelPermission(object): model.add_to_class('acls', GenericRelation(AccessControlList)) + @classmethod + def get_classes(cls, as_content_type=False): + from django.contrib.contenttypes.models import ContentType + + if as_content_type: + content_type_dictionary = ContentType.objects.get_for_models( + *cls._registry.keys() + ) + content_type_ids = [ + content_type.pk for content_type in content_type_dictionary.values() + ] + + return ContentType.objects.filter(pk__in=content_type_ids) + else: + return cls._registry.keys() + @classmethod def get_for_class(cls, klass): return cls._registry.get(klass, ())