Convert index list view to CBV.

This commit is contained in:
Roberto Rosario
2015-07-02 01:49:52 -04:00
parent 51d50672f3
commit c3c4fcb2b2
2 changed files with 22 additions and 24 deletions

View File

@@ -7,7 +7,7 @@ from .api_views import (
APIIndexNodeInstanceDocumentListView, APIIndexTemplateListView, APIIndexNodeInstanceDocumentListView, APIIndexTemplateListView,
APIIndexTemplateView, APIIndexView APIIndexTemplateView, APIIndexView
) )
from .views import SetupIndexDocumentTypesView, SetupIndexListView from .views import IndexListView, SetupIndexDocumentTypesView, SetupIndexListView
urlpatterns = patterns( urlpatterns = patterns(
@@ -23,7 +23,7 @@ urlpatterns = patterns(
url(r'^setup/template/node/(?P<node_pk>\d+)/edit/$', 'template_node_edit', name='template_node_edit'), url(r'^setup/template/node/(?P<node_pk>\d+)/edit/$', 'template_node_edit', name='template_node_edit'),
url(r'^setup/template/node/(?P<node_pk>\d+)/delete/$', 'template_node_delete', name='template_node_delete'), url(r'^setup/template/node/(?P<node_pk>\d+)/delete/$', 'template_node_delete', name='template_node_delete'),
url(r'^index/list/$', 'index_list', name='index_list'), url(r'^index/list/$', IndexListView.as_view(), name='index_list'),
url(r'^instance/node/(?P<index_instance_node_pk>\d+)/$', 'index_instance_node_view', name='index_instance_node_view'), url(r'^instance/node/(?P<index_instance_node_pk>\d+)/$', 'index_instance_node_view', name='index_instance_node_view'),
url(r'^rebuild/all/$', 'rebuild_index_instances', name='rebuild_index_instances'), url(r'^rebuild/all/$', 'rebuild_index_instances', name='rebuild_index_instances'),

View File

@@ -275,31 +275,29 @@ def template_node_delete(request, node_pk):
context_instance=RequestContext(request)) context_instance=RequestContext(request))
# User views class IndexListView(SingleObjectListView):
def index_list(request): @staticmethod
""" def get_items_count(instance):
Show a list of enabled indexes try:
""" if instance.template_root.link_documents:
context = { return instance.instance_root.documents.count()
'title': _('Indexes'), else:
'hide_links': True, return instance.instance_root.get_children().count()
'extra_columns': [ except IndexInstanceNode.DoesNotExist:
{'name': _('Items'), 'attribute': encapsulate(lambda x: x.instance_root.documents.count() if x.template_root.link_documents else x.instance_root.get_children().count())}, return 0
{'name': _('Document types'), 'attribute': 'get_document_types_names'},
],
}
queryset = Index.objects.filter(enabled=True) queryset = Index.objects.filter(enabled=True)
object_permission = permission_document_indexing_view
try: def get_extra_context(self):
Permission.check_permissions(request.user, [permission_document_indexing_view]) return {
except PermissionDenied: 'title': _('Indexes'),
queryset = AccessControlList.objects.filter_by_access(permission_document_indexing_view, request.user, queryset) 'hide_links': True,
'extra_columns': [
context['object_list'] = queryset {'name': _('Items'), 'attribute': encapsulate(lambda instance: IndexListView.get_items_count(instance))},
{'name': _('Document types'), 'attribute': 'get_document_types_names'},
return render_to_response('appearance/generic_list.html', context, ],
context_instance=RequestContext(request)) }
def index_instance_node_view(request, index_instance_node_pk): def index_instance_node_view(request, index_instance_node_pk):