From 51d50672f3de7bfac7ba0808114779b468c0d218 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 2 Jul 2015 01:32:03 -0400 Subject: [PATCH] Change index setup list view to CBV. --- mayan/apps/document_indexing/urls.py | 4 +-- mayan/apps/document_indexing/views.py | 36 +++++++++++---------------- 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/mayan/apps/document_indexing/urls.py b/mayan/apps/document_indexing/urls.py index 88cf93daea..a7a00814bb 100644 --- a/mayan/apps/document_indexing/urls.py +++ b/mayan/apps/document_indexing/urls.py @@ -7,12 +7,12 @@ from .api_views import ( APIIndexNodeInstanceDocumentListView, APIIndexTemplateListView, APIIndexTemplateView, APIIndexView ) -from .views import SetupIndexDocumentTypesView +from .views import SetupIndexDocumentTypesView, SetupIndexListView urlpatterns = patterns( 'document_indexing.views', - url(r'^setup/index/list/$', 'index_setup_list', name='index_setup_list'), + url(r'^setup/index/list/$', SetupIndexListView.as_view(), name='index_setup_list'), url(r'^setup/index/create/$', 'index_setup_create', name='index_setup_create'), url(r'^setup/index/(?P\d+)/edit/$', 'index_setup_edit', name='index_setup_edit'), url(r'^setup/index/(?P\d+)/delete/$', 'index_setup_delete', name='index_setup_delete'), diff --git a/mayan/apps/document_indexing/views.py b/mayan/apps/document_indexing/views.py index 19d2c57474..cf9041cad5 100644 --- a/mayan/apps/document_indexing/views.py +++ b/mayan/apps/document_indexing/views.py @@ -12,7 +12,7 @@ from django.utils.translation import ugettext_lazy as _ from acls.models import AccessControlList from common.utils import encapsulate -from common.views import AssignRemoveView +from common.views import AssignRemoveView, SingleObjectListView from common.widgets import two_state_template from documents.models import Document, DocumentType from documents.permissions import permission_document_view @@ -33,28 +33,20 @@ from .widgets import index_instance_item_link, get_breadcrumbs, node_level # Setup views -def index_setup_list(request): - context = { - 'title': _('Indexes'), - 'hide_object': True, - 'extra_columns': [ - {'name': _('Name'), 'attribute': 'name'}, - {'name': _('Title'), 'attribute': 'title'}, - {'name': _('Enabled'), 'attribute': encapsulate(lambda x: two_state_template(x.enabled))}, - ] - } +class SetupIndexListView(SingleObjectListView): + model = Index + view_permission = permission_document_indexing_setup - queryset = Index.objects.all() - - try: - Permission.check_permissions(request.user, [permission_document_indexing_setup]) - except PermissionDenied: - queryset = AccessControlList.objects.filter_by_access(permission_document_indexing_setup, request.user, queryset) - - context['object_list'] = queryset - - return render_to_response('appearance/generic_list.html', context, - context_instance=RequestContext(request)) + def get_extra_context(self): + return { + 'title': _('Indexes'), + 'hide_object': True, + 'extra_columns': [ + {'name': _('Name'), 'attribute': 'name'}, + {'name': _('Title'), 'attribute': 'title'}, + {'name': _('Enabled'), 'attribute': encapsulate(lambda x: two_state_template(x.enabled))}, + ] + } def index_setup_create(request):