From 7de54a8102d9ad4c85fa3eb9ad8ba6362d516c14 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 8 Dec 2011 16:37:11 -0400 Subject: [PATCH] Update metadata app to use the new class based permissions --- apps/metadata/__init__.py | 45 +++++++++++++-------------------------- apps/metadata/views.py | 28 ++++++++++++------------ 2 files changed, 29 insertions(+), 44 deletions(-) diff --git a/apps/metadata/__init__.py b/apps/metadata/__init__.py index b61556e268..80ab8afe6a 100644 --- a/apps/metadata/__init__.py +++ b/apps/metadata/__init__.py @@ -2,44 +2,29 @@ from django.utils.translation import ugettext_lazy as _ from navigation.api import register_links, register_multi_item_links, \ register_sidebar_template -from permissions.api import register_permission, set_namespace_title +from permissions.models import Permission, PermissionNamespace from documents.models import Document, DocumentType from documents.literals import PERMISSION_DOCUMENT_TYPE_EDIT from project_setup.api import register_setup from metadata.models import MetadataType, MetadataSet -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')} -PERMISSION_METADATA_DOCUMENT_VIEW = {'namespace': 'metadata', 'name': u'metadata_document_view', 'label': _(u'View metadata from a document')} +metadata_namespace = PermissionNamespace('metadata', _(u'Metadata')) +PERMISSION_METADATA_DOCUMENT_EDIT = Permission.objects.register(metadata_namespace, 'metadata_document_edit', _(u'Edit a document\'s metadata')) +PERMISSION_METADATA_DOCUMENT_ADD = Permission.objects.register(metadata_namespace, 'metadata_document_add', _(u'Add metadata to a document')) +PERMISSION_METADATA_DOCUMENT_REMOVE = Permission.objects.register(metadata_namespace, 'metadata_document_remove', _(u'Remove metadata from a document')) +PERMISSION_METADATA_DOCUMENT_VIEW = Permission.objects.register(metadata_namespace, 'metadata_document_view', _(u'View metadata from a document')) -PERMISSION_METADATA_TYPE_EDIT = {'namespace': 'metadata_setup', 'name': u'metadata_type_edit', 'label': _(u'Edit metadata types')} -PERMISSION_METADATA_TYPE_CREATE = {'namespace': 'metadata_setup', 'name': u'metadata_type_create', 'label': _(u'Create new metadata types')} -PERMISSION_METADATA_TYPE_DELETE = {'namespace': 'metadata_setup', 'name': u'metadata_type_delete', 'label': _(u'Delete metadata types')} -PERMISSION_METADATA_TYPE_VIEW = {'namespace': 'metadata_setup', 'name': u'metadata_type_view', 'label': _(u'View metadata types')} +metadata_setup_namespace = PermissionNamespace('metadata_setup', _(u'Metadata setup')) +PERMISSION_METADATA_TYPE_EDIT = Permission.objects.register(metadata_setup_namespace, 'metadata_type_edit', _(u'Edit metadata types')) +PERMISSION_METADATA_TYPE_CREATE = Permission.objects.register(metadata_setup_namespace, 'metadata_type_create', _(u'Create new metadata types')) +PERMISSION_METADATA_TYPE_DELETE = Permission.objects.register(metadata_setup_namespace, 'metadata_type_delete', _(u'Delete metadata types')) +PERMISSION_METADATA_TYPE_VIEW = Permission.objects.register(metadata_setup_namespace, 'metadata_type_view', _(u'View metadata types')) -PERMISSION_METADATA_SET_EDIT = {'namespace': 'metadata_setup', 'name': u'metadata_set_edit', 'label': _(u'Edit metadata sets')} -PERMISSION_METADATA_SET_CREATE = {'namespace': 'metadata_setup', 'name': u'metadata_set_create', 'label': _(u'Create new metadata sets')} -PERMISSION_METADATA_SET_DELETE = {'namespace': 'metadata_setup', 'name': u'metadata_set_delete', 'label': _(u'Delete metadata sets')} -PERMISSION_METADATA_SET_VIEW = {'namespace': 'metadata_setup', 'name': u'metadata_set_view', 'label': _(u'View metadata sets')} - -set_namespace_title('metadata', _(u'Metadata')) -register_permission(PERMISSION_METADATA_DOCUMENT_EDIT) -register_permission(PERMISSION_METADATA_DOCUMENT_ADD) -register_permission(PERMISSION_METADATA_DOCUMENT_REMOVE) -register_permission(PERMISSION_METADATA_DOCUMENT_VIEW) - -set_namespace_title('metadata_setup', _(u'Metadata setup')) -register_permission(PERMISSION_METADATA_TYPE_EDIT) -register_permission(PERMISSION_METADATA_TYPE_CREATE) -register_permission(PERMISSION_METADATA_TYPE_DELETE) -register_permission(PERMISSION_METADATA_TYPE_VIEW) - -register_permission(PERMISSION_METADATA_SET_EDIT) -register_permission(PERMISSION_METADATA_SET_CREATE) -register_permission(PERMISSION_METADATA_SET_DELETE) -register_permission(PERMISSION_METADATA_SET_VIEW) +PERMISSION_METADATA_SET_EDIT = Permission.objects.register(metadata_setup_namespace, 'metadata_set_edit', _(u'Edit metadata sets')) +PERMISSION_METADATA_SET_CREATE = Permission.objects.register(metadata_setup_namespace, 'metadata_set_create', _(u'Create new metadata sets')) +PERMISSION_METADATA_SET_DELETE = Permission.objects.register(metadata_setup_namespace, 'metadata_set_delete', _(u'Delete metadata sets')) +PERMISSION_METADATA_SET_VIEW = Permission.objects.register(metadata_setup_namespace, 'metadata_set_view', _(u'View metadata sets')) metadata_edit = {'text': _(u'edit metadata'), 'view': 'metadata_edit', 'args': 'object.pk', 'famfam': 'xhtml_go', 'permissions': [PERMISSION_METADATA_DOCUMENT_EDIT]} metadata_view = {'text': _(u'metadata'), 'view': 'metadata_view', 'args': 'object.pk', 'famfam': 'xhtml_go', 'permissions': [PERMISSION_METADATA_DOCUMENT_EDIT], 'children_view_regex': ['metadata']} diff --git a/apps/metadata/views.py b/apps/metadata/views.py index 028700a46d..11aa0a6b87 100644 --- a/apps/metadata/views.py +++ b/apps/metadata/views.py @@ -9,7 +9,7 @@ from django.utils.http import urlencode from documents.literals import PERMISSION_DOCUMENT_TYPE_EDIT from documents.models import Document, RecentDocument, DocumentType -from permissions.api import check_permissions +from permissions.models import Permission from document_indexing.api import update_indexes, delete_indexes from common.utils import generate_choices_w_labels, encapsulate @@ -30,7 +30,7 @@ from metadata.models import DocumentMetadata, MetadataType, MetadataSet, \ def metadata_edit(request, document_id=None, document_id_list=None): - check_permissions(request.user, [PERMISSION_METADATA_DOCUMENT_EDIT]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_DOCUMENT_EDIT]) if document_id: documents = [get_object_or_404(Document, pk=document_id)] @@ -121,7 +121,7 @@ def metadata_multiple_edit(request): def metadata_add(request, document_id=None, document_id_list=None): - check_permissions(request.user, [PERMISSION_METADATA_DOCUMENT_ADD]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_DOCUMENT_ADD]) if document_id: documents = [get_object_or_404(Document, pk=document_id)] @@ -185,7 +185,7 @@ def metadata_multiple_add(request): def metadata_remove(request, document_id=None, document_id_list=None): - check_permissions(request.user, [PERMISSION_METADATA_DOCUMENT_REMOVE]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_DOCUMENT_REMOVE]) if document_id: documents = [get_object_or_404(Document, pk=document_id)] @@ -274,7 +274,7 @@ def metadata_multiple_remove(request): def metadata_view(request, document_id): - check_permissions(request.user, [PERMISSION_METADATA_DOCUMENT_VIEW]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_DOCUMENT_VIEW]) document = get_object_or_404(Document, pk=document_id) return render_to_response('generic_list.html', { @@ -287,7 +287,7 @@ def metadata_view(request, document_id): def setup_metadata_type_list(request): - check_permissions(request.user, [PERMISSION_METADATA_TYPE_VIEW]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_TYPE_VIEW]) context = { 'object_list': MetadataType.objects.all(), @@ -306,7 +306,7 @@ def setup_metadata_type_list(request): def setup_metadata_type_edit(request, metadatatype_id): - check_permissions(request.user, [PERMISSION_METADATA_TYPE_EDIT]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_TYPE_EDIT]) metadata_type = get_object_or_404(MetadataType, pk=metadatatype_id) @@ -334,7 +334,7 @@ def setup_metadata_type_edit(request, metadatatype_id): def setup_metadata_type_create(request): - check_permissions(request.user, [PERMISSION_METADATA_TYPE_CREATE]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_TYPE_CREATE]) if request.method == 'POST': form = MetadataTypeForm(request.POST) @@ -353,7 +353,7 @@ def setup_metadata_type_create(request): def setup_metadata_type_delete(request, metadatatype_id): - check_permissions(request.user, [PERMISSION_METADATA_TYPE_DELETE]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_TYPE_DELETE]) metadata_type = get_object_or_404(MetadataType, pk=metadatatype_id) @@ -387,7 +387,7 @@ def setup_metadata_type_delete(request, metadatatype_id): def setup_metadata_set_list(request): - check_permissions(request.user, [PERMISSION_METADATA_SET_VIEW]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_SET_VIEW]) context = { 'object_list': MetadataSet.objects.all(), @@ -429,7 +429,7 @@ def remove_set_member(metadata_set, selection): def setup_metadata_set_edit(request, metadata_set_id): - check_permissions(request.user, [PERMISSION_METADATA_SET_EDIT]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_SET_EDIT]) metadata_set = get_object_or_404(MetadataSet, pk=metadata_set_id) @@ -449,7 +449,7 @@ def setup_metadata_set_edit(request, metadata_set_id): def setup_metadata_set_create(request): - check_permissions(request.user, [PERMISSION_METADATA_SET_CREATE]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_SET_CREATE]) if request.method == 'POST': form = MetadataSetForm(request.POST) @@ -468,7 +468,7 @@ def setup_metadata_set_create(request): def setup_metadata_set_delete(request, metadata_set_id): - check_permissions(request.user, [PERMISSION_METADATA_SET_DELETE]) + Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_SET_DELETE]) metadata_set = get_object_or_404(MetadataSet, pk=metadata_set_id) @@ -539,7 +539,7 @@ def remove_document_type_metadata(document_type, selection): def setup_document_type_metadata(request, document_type_id): - check_permissions(request.user, [PERMISSION_DOCUMENT_TYPE_EDIT]) + Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_TYPE_EDIT]) document_type = get_object_or_404(DocumentType, pk=document_type_id)