Add 'get_classes' function to acls.api, add function docstrings

This commit is contained in:
Roberto Rosario
2012-01-09 02:20:27 -04:00
parent 78207be926
commit 7aabd7a1cc

View File

@@ -1,13 +1,30 @@
from __future__ import absolute_import
from django.contrib.contenttypes.models import ContentType
from .classes import AccessObjectClass
_class_permissions = {}
def class_permissions(cls, permission_list):
"""
Associate a permissions list to a class
"""
stored_permissions = _class_permissions.setdefault(cls, [])
stored_permissions.extend(permission_list)
def get_class_permissions_for(obj):
"""
Return a list of permissions associated with a content type
"""
content_type = ContentType.objects.get_for_model(obj)
return _class_permissions.get(content_type.model_class(), [])
def get_classes():
"""
Return a list of encapsulated classes that have been registered
"""
return [AccessObjectClass.encapsulate(cls) for cls in _class_permissions.keys()]