From f0f924a1d4662011dca5ee423dc6e2ce35f205a4 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 24 Oct 2011 20:35:32 -0400 Subject: [PATCH] Added function to return a translatable label for a permission object --- apps/permissions/api.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/permissions/api.py b/apps/permissions/api.py index 13efbbed28..aa0ab34022 100644 --- a/apps/permissions/api.py +++ b/apps/permissions/api.py @@ -22,6 +22,8 @@ namespace_titles = { 'permissions': _(u'Permissions') } +permission_titles = {} + def set_namespace_title(namespace, title): namespace_titles.setdefault(namespace, title) @@ -34,6 +36,7 @@ def register_permission(permission): namespace=permission['namespace'], name=permission['name']) permission_obj.label = unicode(permission['label']) permission_obj.save() + permission_titles['%s.%s' % (permission['namespace'], permission['name'])] = permission['label'] except DatabaseError: transaction.rollback() # Special case for ./manage.py syncdb @@ -54,6 +57,11 @@ def check_permissions(requester, permission_list): raise PermissionDenied(ugettext(u'Insufficient permissions.')) + +def get_permission_label(permission): + return unicode(permission_titles.get('%s.%s' % (permission.namespace, permission.name), permission.label)) + + register_permission(PERMISSION_ROLE_VIEW) register_permission(PERMISSION_ROLE_EDIT) register_permission(PERMISSION_ROLE_CREATE)