diff --git a/mayan/apps/metadata/urls.py b/mayan/apps/metadata/urls.py index 9ee9dbdf9f..d67702207b 100644 --- a/mayan/apps/metadata/urls.py +++ b/mayan/apps/metadata/urls.py @@ -10,9 +10,8 @@ from .api_views import ( APIMetadataTypeView ) from .views import ( - MissingRequiredMetadataDocumentListView, - SetupDocumentTypeMetadataOptionalView, - SetupDocumentTypeMetadataRequiredView + MetadataTypeListView, MissingRequiredMetadataDocumentListView, + SetupDocumentTypeMetadataOptionalView, SetupDocumentTypeMetadataRequiredView ) urlpatterns = patterns( @@ -25,7 +24,7 @@ urlpatterns = patterns( url(r'^(?P\d+)/remove/$', 'metadata_remove', name='metadata_remove'), url(r'^multiple/remove/$', 'metadata_multiple_remove', name='metadata_multiple_remove'), - url(r'^setup/type/list/$', 'setup_metadata_type_list', name='setup_metadata_type_list'), + url(r'^setup/type/list/$', MetadataTypeListView.as_view(), name='setup_metadata_type_list'), url(r'^setup/type/create/$', 'setup_metadata_type_create', name='setup_metadata_type_create'), url(r'^setup/type/(?P\d+)/edit/$', 'setup_metadata_type_edit', name='setup_metadata_type_edit'), url(r'^setup/type/(?P\d+)/delete/$', 'setup_metadata_type_delete', name='setup_metadata_type_delete'), diff --git a/mayan/apps/metadata/views.py b/mayan/apps/metadata/views.py index c8aaf6428f..f5cb802e76 100644 --- a/mayan/apps/metadata/views.py +++ b/mayan/apps/metadata/views.py @@ -12,7 +12,7 @@ from django.utils.translation import ugettext_lazy as _, ungettext from acls.models import AccessControlList from common.utils import encapsulate -from common.views import AssignRemoveView +from common.views import AssignRemoveView, SingleObjectListView from documents.models import Document, DocumentType from documents.permissions import ( permission_document_type_edit @@ -348,23 +348,23 @@ def metadata_view(request, document_id): # Setup views -def setup_metadata_type_list(request): - Permission.check_permissions(request.user, [permission_metadata_type_view]) +class MetadataTypeListView(SingleObjectListView): + view_permission = permission_metadata_type_view - context = { - 'object_list': MetadataType.objects.all(), - 'title': _('Metadata types'), - 'hide_link': True, - 'extra_columns': [ - { - 'name': _('Internal name'), - 'attribute': 'name', - }, - ] - } + def get_queryset(self): + return MetadataType.objects.all() - return render_to_response('appearance/generic_list.html', context, - context_instance=RequestContext(request)) + def get_extra_context(self): + return { + 'title': _('Metadata types'), + 'hide_link': True, + 'extra_columns': [ + { + 'name': _('Internal name'), + 'attribute': 'name', + }, + ] + } def setup_metadata_type_edit(request, metadatatype_id):