diff --git a/apps/document_comments/__init__.py b/apps/document_comments/__init__.py index 03ec86d819..0a20104532 100644 --- a/apps/document_comments/__init__.py +++ b/apps/document_comments/__init__.py @@ -2,7 +2,7 @@ from django.utils.translation import ugettext_lazy as _ from navigation.api import register_links, \ register_model_list_columns -from permissions.api import register_permission +from permissions.api import register_permission, set_namespace_title from django.contrib.comments.models import Comment @@ -12,6 +12,7 @@ PERMISSION_COMMENT_CREATE = {'namespace': 'comments', 'name': 'comment_create', PERMISSION_COMMENT_DELETE = {'namespace': 'comments', 'name': 'comment_delete', 'label': _(u'Delete comments')} PERMISSION_COMMENT_EDIT = {'namespace': 'comments', 'name': 'comment_edit', 'label': _(u'Edit comments')} +set_namespace_title('comments', _(u'comments')) register_permission(PERMISSION_COMMENT_CREATE) register_permission(PERMISSION_COMMENT_DELETE) register_permission(PERMISSION_COMMENT_EDIT) diff --git a/apps/document_indexing/__init__.py b/apps/document_indexing/__init__.py index 1eece7a905..52b63f1a73 100644 --- a/apps/document_indexing/__init__.py +++ b/apps/document_indexing/__init__.py @@ -1,12 +1,13 @@ from django.utils.translation import ugettext_lazy as _ from navigation.api import register_menu -from permissions.api import register_permission +from permissions.api import register_permission, set_namespace_title from main.api import register_tool PERMISSION_DOCUMENT_INDEXING_VIEW = {'namespace': 'document_indexing', 'name': 'document_index_view', 'label': _(u'View document indexes')} PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES = {'namespace': 'document_indexing', 'name': 'document_rebuild_indexes', 'label': _(u'Rebuild document indexes')} +set_namespace_title('document_indexing', _(u'indexing')) register_permission(PERMISSION_DOCUMENT_INDEXING_VIEW) register_permission(PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES) diff --git a/apps/documents/__init__.py b/apps/documents/__init__.py index f1d459e004..24f4d028bd 100644 --- a/apps/documents/__init__.py +++ b/apps/documents/__init__.py @@ -5,7 +5,7 @@ from django.conf import settings from navigation.api import register_links, register_menu, \ register_model_list_columns, register_multi_item_links from main.api import register_diagnostic, register_tool -from permissions.api import register_permission +from permissions.api import register_permission, set_namespace_title from tags.widgets import get_tags_inline_widget_simple from documents.models import Document, DocumentPage, DocumentPageTransformation @@ -18,6 +18,7 @@ from documents.literals import PERMISSION_DOCUMENT_CREATE, \ PERMISSION_DOCUMENT_TRANSFORM, PERMISSION_DOCUMENT_TOOLS, \ PERMISSION_DOCUMENT_EDIT +set_namespace_title('documents', _(u'documents')) register_permission(PERMISSION_DOCUMENT_CREATE) register_permission(PERMISSION_DOCUMENT_PROPERTIES_EDIT) register_permission(PERMISSION_DOCUMENT_EDIT) diff --git a/apps/metadata/__init__.py b/apps/metadata/__init__.py index a687d5f103..307df9a67d 100644 --- a/apps/metadata/__init__.py +++ b/apps/metadata/__init__.py @@ -1,13 +1,14 @@ from django.utils.translation import ugettext_lazy as _ from navigation.api import register_links, register_multi_item_links -from permissions.api import register_permission +from permissions.api import register_permission, set_namespace_title from documents.models import Document PERMISSION_METADATA_DOCUMENT_EDIT = {'namespace': 'metadata', 'name': u'metadata_document_edit', 'label': _(u'Edit a document\'s metadata')} PERMISSION_METADATA_DOCUMENT_ADD = {'namespace': 'metadata', 'name': u'metadata_document_add', 'label': _(u'Add metadata to a document')} PERMISSION_METADATA_DOCUMENT_REMOVE = {'namespace': 'metadata', 'name': u'metadata_document_remove', 'label': _(u'Remove metadata from a document')} +set_namespace_title('metadata', _(u'metadata')) register_permission(PERMISSION_METADATA_DOCUMENT_EDIT) register_permission(PERMISSION_METADATA_DOCUMENT_ADD) register_permission(PERMISSION_METADATA_DOCUMENT_REMOVE) diff --git a/apps/ocr/__init__.py b/apps/ocr/__init__.py index fa1baa8067..efa1b6e7c3 100644 --- a/apps/ocr/__init__.py +++ b/apps/ocr/__init__.py @@ -4,7 +4,7 @@ from django.db.utils import DatabaseError from django.db.models.signals import post_save from navigation.api import register_links, register_menu, register_multi_item_links -from permissions.api import register_permission +from permissions.api import register_permission, set_namespace_title from documents.models import Document from main.api import register_tool @@ -17,6 +17,7 @@ PERMISSION_OCR_DOCUMENT_DELETE = {'namespace': 'ocr', 'name': 'ocr_document_dele PERMISSION_OCR_QUEUE_ENABLE_DISABLE = {'namespace': 'ocr', 'name': 'ocr_queue_enable_disable', 'label': _(u'Can enable/disable an OCR queue')} PERMISSION_OCR_CLEAN_ALL_PAGES = {'namespace': 'ocr', 'name': 'ocr_clean_all_pages', 'label': _(u'Can execute an OCR clean up on all document pages')} +set_namespace_title('ocr', _(u'ocr')) register_permission(PERMISSION_OCR_DOCUMENT) register_permission(PERMISSION_OCR_DOCUMENT_DELETE) register_permission(PERMISSION_OCR_QUEUE_ENABLE_DISABLE) diff --git a/apps/permissions/api.py b/apps/permissions/api.py index c33c22fb6c..2d6aad9979 100644 --- a/apps/permissions/api.py +++ b/apps/permissions/api.py @@ -2,6 +2,7 @@ from django.db.utils import DatabaseError from django.shortcuts import get_object_or_404 from django.utils.translation import ugettext from django.core.exceptions import PermissionDenied +from django.utils.translation import ugettext_lazy as _ from permissions import PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT, \ PERMISSION_ROLE_CREATE, PERMISSION_ROLE_DELETE, \ @@ -9,6 +10,14 @@ from permissions import PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT, \ from permissions.models import Permission +namespace_titles = { + 'permissions': _(u'permissions') +} + + +def set_namespace_title(namespace, title): + namespace_titles.setdefault(namespace, title) + def register_permission(permission): try: diff --git a/apps/permissions/views.py b/apps/permissions/views.py index d948ec390f..f36317f77a 100644 --- a/apps/permissions/views.py +++ b/apps/permissions/views.py @@ -19,7 +19,7 @@ from permissions.forms import RoleForm, RoleForm_view from permissions import PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT, \ PERMISSION_ROLE_CREATE, PERMISSION_ROLE_DELETE, PERMISSION_PERMISSION_GRANT, \ PERMISSION_PERMISSION_REVOKE -from permissions.api import check_permissions +from permissions.api import check_permissions, namespace_titles def role_list(request): @@ -67,7 +67,7 @@ def role_permissions(request, role_id): 'title': _(u'permissions'), 'object_list': Permission.objects.all(), 'extra_columns': [ - {'name': _(u'namespace'), 'attribute': u'namespace'}, + {'name': _(u'namespace'), 'attribute': lambda x: namespace_titles[x.namespace] if x.namespace in namespace_titles else x.namespace}, {'name': _(u'name'), 'attribute': u'label'}, { 'name':_(u'state'), diff --git a/apps/tags/__init__.py b/apps/tags/__init__.py index 263b565629..1e88ddf934 100644 --- a/apps/tags/__init__.py +++ b/apps/tags/__init__.py @@ -2,7 +2,7 @@ from django.utils.translation import ugettext_lazy as _ from navigation.api import register_links, register_menu, \ register_model_list_columns, register_multi_item_links -from permissions.api import register_permission +from permissions.api import register_permission, set_namespace_title from navigation.api import register_sidebar_template from taggit.models import Tag @@ -13,6 +13,7 @@ PERMISSION_TAG_REMOVE = {'namespace': 'tags', 'name': 'tag_remove', 'label': _(u PERMISSION_TAG_DELETE = {'namespace': 'tags', 'name': 'tag_delete', 'label': _(u'Delete global tags')} PERMISSION_TAG_EDIT = {'namespace': 'tags', 'name': 'tag_edit', 'label': _(u'Edit global tags')} +set_namespace_title('tags', _(u'tags')) register_permission(PERMISSION_TAG_CREATE) register_permission(PERMISSION_TAG_ATTACH) register_permission(PERMISSION_TAG_REMOVE) diff --git a/apps/user_management/__init__.py b/apps/user_management/__init__.py index 862f9367d2..2338336058 100644 --- a/apps/user_management/__init__.py +++ b/apps/user_management/__init__.py @@ -2,18 +2,19 @@ from django.utils.translation import ugettext_lazy as _ from django.contrib.auth.models import User, Group from navigation.api import register_links, register_multi_item_links -from permissions.api import register_permission +from permissions.api import register_permission, set_namespace_title -PERMISSION_USER_CREATE = {'namespace': 'user_manageent', 'name': 'user_create', 'label': _(u'Create new users')} -PERMISSION_USER_EDIT = {'namespace': 'user_manageent', 'name': 'user_edit', 'label': _(u'Edit existing users')} -PERMISSION_USER_VIEW = {'namespace': 'user_manageent', 'name': 'user_view', 'label': _(u'View existing users')} -PERMISSION_USER_DELETE = {'namespace': 'user_manageent', 'name': 'user_delete', 'label': _(u'Delete existing users')} +PERMISSION_USER_CREATE = {'namespace': 'user_management', 'name': 'user_create', 'label': _(u'Create new users')} +PERMISSION_USER_EDIT = {'namespace': 'user_management', 'name': 'user_edit', 'label': _(u'Edit existing users')} +PERMISSION_USER_VIEW = {'namespace': 'user_management', 'name': 'user_view', 'label': _(u'View existing users')} +PERMISSION_USER_DELETE = {'namespace': 'user_management', 'name': 'user_delete', 'label': _(u'Delete existing users')} -PERMISSION_GROUP_CREATE = {'namespace': 'user_manageent', 'name': 'group_create', 'label': _(u'Create new groups')} -PERMISSION_GROUP_EDIT = {'namespace': 'user_manageent', 'name': 'group_edit', 'label': _(u'Edit existing groups')} -PERMISSION_GROUP_VIEW = {'namespace': 'user_manageent', 'name': 'group_view', 'label': _(u'View existing groups')} -PERMISSION_GROUP_DELETE = {'namespace': 'user_manageent', 'name': 'group_delete', 'label': _(u'Delete existing groups')} +PERMISSION_GROUP_CREATE = {'namespace': 'user_management', 'name': 'group_create', 'label': _(u'Create new groups')} +PERMISSION_GROUP_EDIT = {'namespace': 'user_management', 'name': 'group_edit', 'label': _(u'Edit existing groups')} +PERMISSION_GROUP_VIEW = {'namespace': 'user_management', 'name': 'group_view', 'label': _(u'View existing groups')} +PERMISSION_GROUP_DELETE = {'namespace': 'user_management', 'name': 'group_delete', 'label': _(u'Delete existing groups')} +set_namespace_title('user_management', _(u'user management')) register_permission(PERMISSION_USER_CREATE) register_permission(PERMISSION_USER_EDIT) register_permission(PERMISSION_USER_VIEW)