diff --git a/mayan/apps/document_indexing/api_views.py b/mayan/apps/document_indexing/api_views.py index f54a71b5d2..c1be3bbf63 100644 --- a/mayan/apps/document_indexing/api_views.py +++ b/mayan/apps/document_indexing/api_views.py @@ -62,7 +62,7 @@ class APIIndexNodeInstanceDocumentListView(generics.ListAPIView): def get_queryset(self): index_node_instance = get_object_or_404( - klass=IndexInstanceNode, pk=self.kwargs['pk'] + klass=IndexInstanceNode, pk=self.kwargs['index_instance_node_pk'] ) AccessControlList.objects.check_access( permissions=permission_document_indexing_view, @@ -109,7 +109,7 @@ class APIDocumentIndexListView(generics.ListAPIView): serializer_class = IndexInstanceNodeSerializer def get_queryset(self): - document = get_object_or_404(klass=Document, pk=self.kwargs['pk']) + document = get_object_or_404(klass=Document, pk=self.kwargs['document_pk']) AccessControlList.objects.check_access( permissions=permission_document_view, user=self.request.user, obj=document diff --git a/mayan/apps/document_indexing/apps.py b/mayan/apps/document_indexing/apps.py index e17e254d3b..b6dc7a35b8 100644 --- a/mayan/apps/document_indexing/apps.py +++ b/mayan/apps/document_indexing/apps.py @@ -65,12 +65,14 @@ class DocumentIndexingApp(MayanAppConfig): app_label='documents', model_name='DocumentType' ) - DocumentIndexInstanceNode = self.get_model('DocumentIndexInstanceNode') + DocumentIndexInstanceNode = self.get_model( + model_name='DocumentIndexInstanceNode' + ) - Index = self.get_model('Index') - IndexInstance = self.get_model('IndexInstance') - IndexInstanceNode = self.get_model('IndexInstanceNode') - IndexTemplateNode = self.get_model('IndexTemplateNode') + Index = self.get_model(model_name='Index') + IndexInstance = self.get_model(model_name='IndexInstance') + IndexInstanceNode = self.get_model(model_name='IndexInstanceNode') + IndexTemplateNode = self.get_model(model_name='IndexTemplateNode') ModelPermission.register( model=Index, permissions=( diff --git a/mayan/apps/document_indexing/forms.py b/mayan/apps/document_indexing/forms.py index 26ddd8f434..acf6953c69 100644 --- a/mayan/apps/document_indexing/forms.py +++ b/mayan/apps/document_indexing/forms.py @@ -23,8 +23,9 @@ class IndexListForm(forms.Form): user = kwargs.pop('user') super(IndexListForm, self).__init__(*args, **kwargs) queryset = AccessControlList.objects.filter_by_access( - permission=permission_document_indexing_rebuild, user=user, - queryset=Index.objects.filter(enabled=True) + permission=permission_document_indexing_rebuild, + queryset=Index.objects.filter(enabled=True), + user=user ) self.fields['indexes'].queryset = queryset diff --git a/mayan/apps/document_indexing/managers.py b/mayan/apps/document_indexing/managers.py index b40c519ea8..4158e22ffb 100644 --- a/mayan/apps/document_indexing/managers.py +++ b/mayan/apps/document_indexing/managers.py @@ -15,7 +15,7 @@ class IndexManager(models.Manager): return self.get(slug=slug) def index_document(self, document): - for index in self.filter(enabled=True, document_types=document.document_type): + for index in self.filter(document_types=document.document_type, enabled=True): index.index_document(document=document) def rebuild(self): diff --git a/mayan/apps/document_indexing/models.py b/mayan/apps/document_indexing/models.py index 5b28c8652f..ba85ce8107 100644 --- a/mayan/apps/document_indexing/models.py +++ b/mayan/apps/document_indexing/models.py @@ -65,8 +65,8 @@ class Index(models.Model): def get_absolute_url(self): try: return reverse( - 'indexing:index_instance_node_view', - args=(self.instance_root.pk,) + viewname='indexing:index_instance_node_view', + kwargs={'index_instance_node_pk': self.instance_root.pk} ) except IndexInstanceNode.DoesNotExist: return '#' @@ -190,24 +190,19 @@ class IndexTemplateNode(MPTTModel): 'Enter a template to render. ' 'Use Django\'s default templating language ' '(https://docs.djangoproject.com/en/1.11/ref/templates/builtins/)' - ), - verbose_name=_('Indexing expression') + ), verbose_name=_('Indexing expression') ) enabled = models.BooleanField( - default=True, - help_text=_( + default=True, help_text=_( 'Causes this node to be visible and updated when document data ' 'changes.' - ), - verbose_name=_('Enabled') + ), verbose_name=_('Enabled') ) link_documents = models.BooleanField( - default=False, - help_text=_( + default=False, help_text=_( 'Check this option to have this node act as a container for ' 'documents and not as a parent for further nodes.' - ), - verbose_name=_('Link documents') + ), verbose_name=_('Link documents') ) class Meta: @@ -216,7 +211,7 @@ class IndexTemplateNode(MPTTModel): def __str__(self): if self.is_root_node(): - return ugettext('Root') + return ugettext(message='Root') else: return self.expression @@ -250,7 +245,7 @@ class IndexTemplateNode(MPTTModel): for child in self.get_children(): child.index_document( - document=document, acquire_lock=False, + acquire_lock=False, document=document, index_instance_node_parent=index_instance_root_node ) elif self.enabled: @@ -267,7 +262,7 @@ class IndexTemplateNode(MPTTModel): try: context = {'document': document} - template = Template(self.expression) + template = Template(source=self.expression) result = template.render(**context) except Exception as exception: logger.debug('Evaluating error: %s', exception) @@ -294,7 +289,7 @@ class IndexTemplateNode(MPTTModel): for child in self.get_children(): child.index_document( - document=document, acquire_lock=False, + acquire_lock=False, document=document, index_instance_node_parent=index_instance_node ) finally: @@ -341,7 +336,7 @@ class IndexInstanceNode(MPTTModel): # Prevent another process to delete this node. try: lock = locking_backend.acquire_lock( - self.index_template_node.get_lock_string() + name=self.index_template_node.get_lock_string() ) except LockError: raise @@ -359,7 +354,10 @@ class IndexInstanceNode(MPTTModel): lock.release() def get_absolute_url(self): - return reverse('indexing:index_instance_node_view', args=(self.pk,)) + return reverse( + viewname='indexing:index_instance_node_view', + kwargs={'index_instance_node_pk': self.pk} + ) def get_children_count(self): return self.get_children().count() @@ -369,28 +367,29 @@ class IndexInstanceNode(MPTTModel): def get_descendants_document_count(self, user): return AccessControlList.objects.filter_by_access( - permission=permission_document_view, user=user, + permission=permission_document_view, queryset=Document.objects.filter( index_instance_nodes__in=self.get_descendants( include_self=True ) - ) + ), user=user ).count() def get_full_path(self): result = [] for node in self.get_ancestors(include_self=True): if node.is_root_node(): - result.append(force_text(self.index())) + result.append(force_text(s=self.index())) else: - result.append(force_text(node)) + result.append(force_text(s=node)) return ' / '.join(result) def get_item_count(self, user): if self.index_template_node.link_documents: queryset = AccessControlList.objects.filter_by_access( - permission_document_view, user, queryset=self.documents + permission=permission_document_view, queryset=self.documents, + user=user ) return queryset.count() @@ -417,7 +416,7 @@ class IndexInstanceNode(MPTTModel): # parent template node for the lock try: lock = locking_backend.acquire_lock( - self.index_template_node.get_lock_string() + name=self.index_template_node.get_lock_string() ) except LockError: raise diff --git a/mayan/apps/document_indexing/permissions.py b/mayan/apps/document_indexing/permissions.py index 33a44f5787..39fddadf1a 100644 --- a/mayan/apps/document_indexing/permissions.py +++ b/mayan/apps/document_indexing/permissions.py @@ -7,21 +7,21 @@ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('Indexing'), name='document_indexing') permission_document_indexing_create = namespace.add_permission( - name='document_index_create', label=_('Create new document indexes') + label=_('Create new document indexes'), name='document_index_create' ) permission_document_indexing_edit = namespace.add_permission( - name='document_index_edit', label=_('Edit document indexes') + label=_('Edit document indexes'), name='document_index_edit' ) permission_document_indexing_delete = namespace.add_permission( - name='document_index_delete', label=_('Delete document indexes') + label=_('Delete document indexes'), name='document_index_delete' ) permission_document_indexing_instance_view = namespace.add_permission( - name='document_index_instance_view', - label=_('View document index instances') + label=_('View document index instances'), + name='document_index_instance_view' ) permission_document_indexing_view = namespace.add_permission( - name='document_index_view', label=_('View document indexes') + label=_('View document indexes'), name='document_index_view' ) permission_document_indexing_rebuild = namespace.add_permission( - name='document_rebuild_indexes', label=_('Rebuild document indexes') + label=_('Rebuild document indexes'), name='document_rebuild_indexes' ) diff --git a/mayan/apps/document_indexing/queues.py b/mayan/apps/document_indexing/queues.py index 96347ba0ef..f8749d9235 100644 --- a/mayan/apps/document_indexing/queues.py +++ b/mayan/apps/document_indexing/queues.py @@ -5,21 +5,21 @@ from django.utils.translation import ugettext_lazy as _ from mayan.apps.common.queues import queue_tools from mayan.apps.task_manager.classes import CeleryQueue -queue_indexing = CeleryQueue(name='indexing', label=_('Indexing')) +queue_indexing = CeleryQueue(label=_('Indexing'), name='indexing') queue_indexing.add_task_type( - name='mayan.apps.document_indexing.tasks.task_delete_empty', - label=_('Delete empty index nodes') + label=_('Delete empty index nodes'), + name='mayan.apps.document_indexing.tasks.task_delete_empty' ) queue_indexing.add_task_type( - name='mayan.apps.document_indexing.tasks.task_remove_document', - label=_('Remove document') + label=_('Remove document'), + name='mayan.apps.document_indexing.tasks.task_remove_document' ) queue_indexing.add_task_type( - name='mayan.apps.document_indexing.tasks.task_index_document', - label=_('Index document') + label=_('Index document'), + name='mayan.apps.document_indexing.tasks.task_index_document' ) queue_tools.add_task_type( - name='mayan.apps.document_indexing.tasks.task_rebuild_index', - label=_('Rebuild index') + label=_('Rebuild index'), + name='mayan.apps.document_indexing.tasks.task_rebuild_index' ) diff --git a/mayan/apps/document_indexing/tests/test_models.py b/mayan/apps/document_indexing/tests/test_models.py index 67fe6a339b..3077e0dce3 100644 --- a/mayan/apps/document_indexing/tests/test_models.py +++ b/mayan/apps/document_indexing/tests/test_models.py @@ -92,7 +92,7 @@ class IndexTestCase(DocumentIndexingTestMixin, DocumentTestMixin, BaseTestCase): document = self.upload_document() self.assertEqual( - [instance.value for instance in IndexInstanceNode.objects.all().order_by('pk')], + [instance.value for instance in IndexInstanceNode.objects.all().order_by('index_instance_node_pk')], [ '', force_text(document.date_added.year), force_text(document.date_added.month).zfill(2) @@ -100,7 +100,7 @@ class IndexTestCase(DocumentIndexingTestMixin, DocumentTestMixin, BaseTestCase): ) self.assertTrue( - document in list(IndexInstanceNode.objects.order_by('pk').last().documents.all()) + document in list(IndexInstanceNode.objects.order_by('index_instance_node_pk').last().documents.all()) ) def test_dual_level_dual_document_index(self): @@ -131,7 +131,7 @@ class IndexTestCase(DocumentIndexingTestMixin, DocumentTestMixin, BaseTestCase): Index.objects.rebuild() self.assertEqual( - [instance.value for instance in IndexInstanceNode.objects.all().order_by('pk')], + [instance.value for instance in IndexInstanceNode.objects.all().order_by('index_instance_node_pk')], [ '', force_text(self.document_2.uuid), self.document_2.label, force_text(self.document.uuid), self.document.label diff --git a/mayan/apps/document_indexing/tests/test_views.py b/mayan/apps/document_indexing/tests/test_views.py index 4efdeb86e8..a38fb13e0e 100644 --- a/mayan/apps/document_indexing/tests/test_views.py +++ b/mayan/apps/document_indexing/tests/test_views.py @@ -45,7 +45,10 @@ class IndexViewTestCase(GenericDocumentViewTestCase): self.assertEqual(Index.objects.first().label, TEST_INDEX_LABEL) def _request_index_delete_view(self, index): - return self.post('indexing:index_setup_delete', args=(index.pk,)) + return self.post( + viewname='indexing:index_setup_delete', + kwargs={'index_pk': index.pk} + ) def test_index_delete_view_no_permission(self): index = Index.objects.create( @@ -72,7 +75,9 @@ class IndexViewTestCase(GenericDocumentViewTestCase): def _request_index_edit_view(self, index): return self.post( - 'indexing:index_setup_edit', args=(index.pk,), data={ + viewname='indexing:index_setup_edit', kwargs={ + 'index_pk': index.pk + }, data={ 'label': TEST_INDEX_LABEL_EDITED, 'slug': TEST_INDEX_SLUG } ) @@ -122,7 +127,8 @@ class IndexViewTestCase(GenericDocumentViewTestCase): def _request_index_instance_node_view(self, index_instance_node): return self.get( - 'indexing:index_instance_node_view', args=(index_instance_node.pk,) + viewname='indexing:index_instance_node_view', + kwargs={'index_instance_node_pk': index_instance_node.pk} ) def test_index_instance_node_view_no_permission(self): @@ -146,7 +152,9 @@ class IndexViewTestCase(GenericDocumentViewTestCase): index_instance_node=self.index.instance_root ) - self.assertContains(response, text=TEST_INDEX_LABEL, status_code=200) + self.assertContains( + response=response, text=TEST_INDEX_LABEL, status_code=200 + ) def _request_index_rebuild_get_view(self): return self.get( diff --git a/mayan/apps/document_indexing/urls.py b/mayan/apps/document_indexing/urls.py index 1a28b7f4d4..5aa96bed20 100644 --- a/mayan/apps/document_indexing/urls.py +++ b/mayan/apps/document_indexing/urls.py @@ -17,80 +17,86 @@ from .views import ( urlpatterns = [ url( - r'^setup/index/list/$', SetupIndexListView.as_view(), - name='index_setup_list' + regex=r'^indexes/$', name='index_setup_list', + view=SetupIndexListView.as_view() ), url( - r'^setup/index/create/$', SetupIndexCreateView.as_view(), - name='index_setup_create' + regex=r'^indexes/create/$', name='index_setup_create', + view=SetupIndexCreateView.as_view() ), url( - r'^setup/index/(?P\d+)/edit/$', SetupIndexEditView.as_view(), - name='index_setup_edit' + regex=r'^indexes/(?P\d+)/delete/$', + name='index_setup_delete', view=SetupIndexDeleteView.as_view() ), url( - r'^setup/index/(?P\d+)/delete/$', SetupIndexDeleteView.as_view(), - name='index_setup_delete' + regex=r'^indexes/(?P\d+)/edit/$', + name='index_setup_edit', view=SetupIndexEditView.as_view() ), url( - r'^setup/index/(?P\d+)/template/$', - SetupIndexTreeTemplateListView.as_view(), name='index_setup_view' + regex=r'^indexes/(?P\d+)/templates/$', + name='index_setup_view', view=SetupIndexTreeTemplateListView.as_view() ), url( - r'^setup/index/(?P\d+)/document_types/$', - SetupIndexDocumentTypesView.as_view(), - name='index_setup_document_types' + regex=r'^indexes/(?P\d+)/document_types/$', + name='index_setup_document_types', + view=SetupIndexDocumentTypesView.as_view() ), url( - r'^setup/template/node/(?P\d+)/create/child/$', - TemplateNodeCreateView.as_view(), name='template_node_create' + regex=r'^indexes/templates/nodes/(?P\d+)/create/child/$', + name='template_node_create', view=TemplateNodeCreateView.as_view() ), url( - r'^setup/template/node/(?P\d+)/edit/$', - TemplateNodeEditView.as_view(), name='template_node_edit' + regex=r'^indexes/templates/nodes/(?P\d+)/edit/$', + name='template_node_edit', view=TemplateNodeEditView.as_view() ), url( - r'^setup/template/node/(?P\d+)/delete/$', - TemplateNodeDeleteView.as_view(), name='template_node_delete' + regex=r'^indexes/templates/nodes/(?P\d+)/delete/$', + name='template_node_delete', view=TemplateNodeDeleteView.as_view() ), - - url(r'^index/list/$', IndexListView.as_view(), name='index_list'), url( - r'^instance/node/(?P\d+)/$', IndexInstanceNodeView.as_view(), - name='index_instance_node_view' + regex=r'^indexes/instances/list/$', name='index_list', + view=IndexListView.as_view() + ), + url( + regex=r'^indexes/instances/node/(?P\d+)/$', + name='index_instance_node_view', view=IndexInstanceNodeView.as_view() ), url( - r'^rebuild/all/$', RebuildIndexesView.as_view(), - name='rebuild_index_instances' + regex=r'^indexes/rebuild/$', name='rebuild_index_instances', + view=RebuildIndexesView.as_view() ), url( - r'^list/for/document/(?P\d+)/$', - DocumentIndexNodeListView.as_view(), name='document_index_list' + regex=r'^documents/(?P\d+)/indexes/$', + name='document_index_list', view=DocumentIndexNodeListView.as_view() ), ] api_urls = [ url( - r'^indexes/node/(?P[0-9]+)/documents/$', - APIIndexNodeInstanceDocumentListView.as_view(), - name='index-node-documents' + regex=r'^indexes/nodes/(?P[0-9]+)/documents/$', + name='index-node-documents', + view=APIIndexNodeInstanceDocumentListView.as_view(), ), url( - r'^indexes/template/(?P[0-9]+)/$', APIIndexTemplateView.as_view(), - name='index-template-detail' + regex=r'^indexes/templates/(?P[0-9]+)/$', + name='index-template-detail', view=APIIndexTemplateView.as_view() ), url( - r'^indexes/(?P[0-9]+)/$', APIIndexView.as_view(), - name='index-detail' + regex=r'^indexes/(?P\d+)/$', name='index-detail', + view=APIIndexView.as_view() ), url( - r'^indexes/(?P[0-9]+)/template/$', - APIIndexTemplateListView.as_view(), name='index-template-detail' + regex=r'^indexes/(?P\d+)/templates/$', + name='index-template-detail', view=APIIndexTemplateListView.as_view() ), - url(r'^indexes/$', APIIndexListView.as_view(), name='index-list'), url( - r'^documents/(?P[0-9]+)/indexes/$', - APIDocumentIndexListView.as_view(), name='document-index-list' + regex=r'^indexes/$', name='index-list', + view=APIIndexListView.as_view() + ), + url( + regex=r'^documents/(?P\d+)/indexes/$', + name='document-index-list', + view=APIDocumentIndexListView.as_view() ), ] diff --git a/mayan/apps/document_indexing/views.py b/mayan/apps/document_indexing/views.py index aa3bdd60ff..96a58983e0 100644 --- a/mayan/apps/document_indexing/views.py +++ b/mayan/apps/document_indexing/views.py @@ -39,14 +39,15 @@ class SetupIndexCreateView(SingleObjectCreateView): extra_context = {'title': _('Create index')} fields = ('label', 'slug', 'enabled') model = Index - post_action_redirect = reverse_lazy('indexing:index_setup_list') + post_action_redirect = reverse_lazy(viewname='indexing:index_setup_list') view_permission = permission_document_indexing_create class SetupIndexDeleteView(SingleObjectDeleteView): model = Index - post_action_redirect = reverse_lazy('indexing:index_setup_list') object_permission = permission_document_indexing_delete + pk_url_kwarg = 'index_pk' + post_action_redirect = reverse_lazy(viewname='indexing:index_setup_list') def get_extra_context(self): return { @@ -58,8 +59,9 @@ class SetupIndexDeleteView(SingleObjectDeleteView): class SetupIndexEditView(SingleObjectEditView): fields = ('label', 'slug', 'enabled') model = Index - post_action_redirect = reverse_lazy('indexing:index_setup_list') object_permission = permission_document_indexing_edit + pk_url_kwarg = 'index_pk' + post_action_redirect = reverse_lazy(viewname='indexing:index_setup_list') def get_extra_context(self): return { @@ -101,25 +103,25 @@ class SetupIndexDocumentTypesView(AssignRemoveView): def get_document_queryset(self): return AccessControlList.objects.filter_by_access( - permission_document_view, self.request.user, - queryset=DocumentType.objects.all() + permission_document_view, queryset=DocumentType.objects.all(), + user=self.request.user ) def get_extra_context(self): return { 'object': self.get_object(), - 'title': _( - 'Document types linked to index: %s' - ) % self.get_object(), 'subtitle': _( 'Only the documents of the types selected will be shown ' 'in the index when built. Only the events of the documents ' 'of the types select will trigger updates in the index.' ), + 'title': _( + 'Document types linked to index: %s' + ) % self.get_object() } def get_object(self): - return get_object_or_404(klass=Index, pk=self.kwargs['pk']) + return get_object_or_404(klass=Index, pk=self.kwargs['index_pk']) def left_list(self): return AssignRemoveView.generate_choices( @@ -133,7 +135,7 @@ class SetupIndexDocumentTypesView(AssignRemoveView): def right_list(self): return AssignRemoveView.generate_choices( - self.get_document_queryset() & self.get_object().document_types.all() + choices=self.get_document_queryset() & self.get_object().document_types.all() ) @@ -149,7 +151,7 @@ class SetupIndexTreeTemplateListView(SingleObjectListView): } def get_index(self): - return get_object_or_404(klass=Index, pk=self.kwargs['pk']) + return get_object_or_404(klass=Index, pk=self.kwargs['index_pk']) def get_object_list(self): return self.get_index().template_root.get_descendants( @@ -163,13 +165,13 @@ class TemplateNodeCreateView(SingleObjectCreateView): def dispatch(self, request, *args, **kwargs): AccessControlList.objects.check_access( - permissions=permission_document_indexing_edit, user=request.user, - obj=self.get_parent_node().index + obj=self.get_parent_node().index, + permissions=permission_document_indexing_edit, user=request.user ) return super( TemplateNodeCreateView, self - ).dispatch(request, *args, **kwargs) + ).dispatch(request=request, *args, **kwargs) def get_extra_context(self): return { @@ -185,7 +187,9 @@ class TemplateNodeCreateView(SingleObjectCreateView): } def get_parent_node(self): - return get_object_or_404(klass=IndexTemplateNode, pk=self.kwargs['pk']) + return get_object_or_404( + klass=IndexTemplateNode, pk=self.kwargs['index_template_node_pk'] + ) class TemplateNodeDeleteView(SingleObjectDeleteView): @@ -205,7 +209,8 @@ class TemplateNodeDeleteView(SingleObjectDeleteView): def get_post_action_redirect(self): return reverse( - 'indexing:index_setup_view', args=(self.get_object().index.pk,) + viewname='indexing:index_setup_view', + kwargs={'index_pk': self.get_object().index.pk} ) @@ -227,7 +232,8 @@ class TemplateNodeEditView(SingleObjectEditView): def get_post_action_redirect(self): return reverse( - 'indexing:index_setup_view', args=(self.get_object().index.pk,) + viewname='indexing:index_setup_view', + kwargs={'index_pk': self.get_object().index.pk} ) @@ -252,7 +258,9 @@ class IndexListView(SingleObjectListView): def get_object_list(self): queryset = IndexInstance.objects.filter(enabled=True) - return queryset.filter(node_templates__index_instance_nodes__isnull=False).distinct() + return queryset.filter( + node_templates__index_instance_nodes__isnull=False + ).distinct() class IndexInstanceNodeView(DocumentListView): @@ -260,21 +268,24 @@ class IndexInstanceNodeView(DocumentListView): def dispatch(self, request, *args, **kwargs): self.index_instance_node = get_object_or_404( - klass=IndexInstanceNode, pk=self.kwargs['pk'] + klass=IndexInstanceNode, pk=self.kwargs['index_instance_node_pk'] ) AccessControlList.objects.check_access( + obj=self.index_instance_node.index(), permissions=permission_document_indexing_instance_view, - user=request.user, obj=self.index_instance_node.index() + user=request.user ) if self.index_instance_node: if self.index_instance_node.index_template_node.link_documents: return super(IndexInstanceNodeView, self).dispatch( - request, *args, **kwargs + request=request, *args, **kwargs ) - return SingleObjectListView.dispatch(self, request, *args, **kwargs) + return SingleObjectListView.dispatch( + self, request=request, *args, **kwargs + ) def get_document_queryset(self): if self.index_instance_node: @@ -331,16 +342,18 @@ class DocumentIndexNodeListView(SingleObjectListView): def dispatch(self, request, *args, **kwargs): AccessControlList.objects.check_access( - permissions=permission_document_view, user=request.user, - obj=self.get_document() + obj=self.get_document(), permissions=permission_document_view, + user=request.user ) return super( DocumentIndexNodeListView, self - ).dispatch(request, *args, **kwargs) + ).dispatch(request=request, *args, **kwargs) def get_document(self): - return get_object_or_404(klass=Document, pk=self.kwargs['pk']) + return get_object_or_404( + klass=Document, pk=self.kwargs['document_pk'] + ) def get_extra_context(self): return { @@ -381,7 +394,7 @@ class RebuildIndexesView(FormView): count += 1 messages.success( - self.request, ungettext( + request=self.request, message=ungettext( singular='%(count)d index queued for rebuild.', plural='%(count)d indexes queued for rebuild.', number=count @@ -398,4 +411,4 @@ class RebuildIndexesView(FormView): } def get_post_action_redirect(self): - return reverse('common:tools_list') + return reverse(viewname='common:tools_list') diff --git a/mayan/apps/document_indexing/widgets.py b/mayan/apps/document_indexing/widgets.py index d5517ebd56..d55f834c27 100644 --- a/mayan/apps/document_indexing/widgets.py +++ b/mayan/apps/document_indexing/widgets.py @@ -12,7 +12,7 @@ def get_instance_link(index_instance_node): Return an HTML anchor to an index node instance """ return mark_safe( - '{text}'.format( + s='{text}'.format( url=index_instance_node.get_absolute_url(), text=escape(index_instance_node.get_full_path()) ) @@ -20,6 +20,7 @@ def get_instance_link(index_instance_node): def index_instance_item_link(index_instance_item): + #TODO: Replace with a file template IndexInstanceNode = apps.get_model( app_label='document_indexing', model_name='IndexInstanceNode' ) @@ -33,7 +34,7 @@ def index_instance_item_link(index_instance_item): icon = '' return mark_safe( - '%(icon)s %(text)s' % { + s='%(icon)s %(text)s' % { 'url': index_instance_item.get_absolute_url(), 'icon': icon, 'text': index_instance_item @@ -45,8 +46,9 @@ def node_level(node): """ Render an indented tree like output for a specific node """ + #TODO: Replace with a file template return mark_safe( - ''.join( + s=''.join( [ '     ' * node.get_level(), '' if node.is_root_node() else icon_index_level_up.render(), @@ -57,6 +59,7 @@ def node_level(node): def node_tree(node, user): + #TODO: Replace with a file template result = [] result.append('
') @@ -84,4 +87,4 @@ def node_tree(node, user): result.append('
') - return mark_safe(''.join(result)) + return mark_safe(s=''.join(result))