diff --git a/mayan/apps/file_metadata/drivers/exiftool.py b/mayan/apps/file_metadata/drivers/exiftool.py index 6d7de4465d..8a75b7c0fe 100644 --- a/mayan/apps/file_metadata/drivers/exiftool.py +++ b/mayan/apps/file_metadata/drivers/exiftool.py @@ -35,7 +35,7 @@ class EXIFToolDriver(FileMetadataDriver): try: document_version.save_to_file(filepath=temp_filename) result = self.command_exiftool(temp_filename) - return json.loads(result.stdout)[0] + return json.loads(s=result.stdout)[0] finally: fs_cleanup(filename=temp_filename) diff --git a/mayan/apps/file_metadata/events.py b/mayan/apps/file_metadata/events.py index 6e4a4d5fcb..57daccffe2 100644 --- a/mayan/apps/file_metadata/events.py +++ b/mayan/apps/file_metadata/events.py @@ -5,7 +5,7 @@ from django.utils.translation import ugettext_lazy as _ from mayan.apps.events import EventTypeNamespace namespace = EventTypeNamespace( - name='file_metadata', label=_('File metadata') + label=_('File metadata'), name='file_metadata' ) event_file_metadata_document_version_submit = namespace.add_event_type( diff --git a/mayan/apps/file_metadata/links.py b/mayan/apps/file_metadata/links.py index 59eda9b631..ef884470c7 100644 --- a/mayan/apps/file_metadata/links.py +++ b/mayan/apps/file_metadata/links.py @@ -13,17 +13,20 @@ from .permissions import ( ) link_document_driver_list = Link( - args='resolved_object.id', icon_class=icon_file_metadata, + icon_class=icon_file_metadata, + kwargs={'document_id': 'resolved_object.id'}, permissions=(permission_file_metadata_view,), text=_('File metadata'), view='file_metadata:document_driver_list', ) link_document_file_metadata_list = Link( - args=('resolved_object.id',), icon_class=icon_file_metadata, + icon_class=icon_file_metadata, + kwargs={'document_version_driver_id': 'resolved_object.id'}, permissions=(permission_file_metadata_view,), text=_('Attributes'), view='file_metadata:document_version_driver_file_metadata_list', ) link_document_submit = Link( - args='resolved_object.id', icon_class=icon_document_submit, + icon_class=icon_document_submit, + kwargs={'document_id': 'resolved_object.id'}, permissions=(permission_file_metadata_submit,), text=_('Submit for file metadata'), view='file_metadata:document_submit' ) @@ -32,8 +35,8 @@ link_document_multiple_submit = Link( view='file_metadata:document_multiple_submit' ) link_document_type_file_metadata_settings = Link( - args='resolved_object.id', icon_class=icon_file_metadata, + kwargs={'document_type_id': 'resolved_object.id'}, permissions=(permission_document_type_file_metadata_setup,), text=_('Setup file metadata'), view='file_metadata:document_type_settings', diff --git a/mayan/apps/file_metadata/permissions.py b/mayan/apps/file_metadata/permissions.py index c0d156f888..4251531074 100644 --- a/mayan/apps/file_metadata/permissions.py +++ b/mayan/apps/file_metadata/permissions.py @@ -7,14 +7,14 @@ from mayan.apps.permissions import PermissionNamespace namespace = PermissionNamespace(label=_('File metadata'), name='file_metadata') permission_document_type_file_metadata_setup = namespace.add_permission( - name='file_metadata_document_type_setup', - label=_('Change document type file metadata settings') + label=_('Change document type file metadata settings'), + name='file_metadata_document_type_setup' ) permission_file_metadata_submit = namespace.add_permission( - name='file_metadata_submit', label=_( + label=_( 'Submit document for file metadata processing' - ) + ), name='file_metadata_submit' ) permission_file_metadata_view = namespace.add_permission( - name='file_metadata_view', label=_('View file metadata') + label=_('View file metadata'), name='file_metadata_view' ) diff --git a/mayan/apps/file_metadata/settings.py b/mayan/apps/file_metadata/settings.py index 692ab7a12f..ceb98a3928 100644 --- a/mayan/apps/file_metadata/settings.py +++ b/mayan/apps/file_metadata/settings.py @@ -6,7 +6,7 @@ from mayan.apps.smart_settings import Namespace from .literals import DEFAULT_EXIF_PATH -namespace = Namespace(name='file_metadata', label=_('File metadata')) +namespace = Namespace(label=_('File metadata'), name='file_metadata') setting_drivers_arguments = namespace.add_setting( global_name='FILE_METADATA_DRIVERS_ARGUMENTS', diff --git a/mayan/apps/file_metadata/tests/test_views.py b/mayan/apps/file_metadata/tests/test_views.py index 08a5bb910e..5971bf657c 100644 --- a/mayan/apps/file_metadata/tests/test_views.py +++ b/mayan/apps/file_metadata/tests/test_views.py @@ -20,8 +20,8 @@ class FileMetadataViewsTestCase(GenericDocumentViewTestCase): def _request_document_version_driver_list_view(self): return self.get( - args=(self.document.pk,), viewname='file_metadata:document_driver_list', + kwargs={'document_id': self.document.pk} ) def test_document_version_driver_list_view_no_permission(self): @@ -39,10 +39,8 @@ class FileMetadataViewsTestCase(GenericDocumentViewTestCase): def _request_document_version_file_metadata_list_view(self): return self.get( - args=( - self.document.latest_version.file_metadata_drivers.first().pk, - ), viewname='file_metadata:document_version_driver_file_metadata_list', + kwargs={'document_version_driver_id': self.document.latest_version.file_metadata_drivers.first().pk} ) def test_document_version_file_metadata_list_view_no_permission(self): @@ -62,7 +60,8 @@ class FileMetadataViewsTestCase(GenericDocumentViewTestCase): def _request_document_submit_view(self): return self.post( - viewname='file_metadata:document_submit', args=(self.document.pk,) + viewname='file_metadata:document_submit', + kwargs={'document_id': self.document.pk} ) def test_document_submit_view_no_permission(self): @@ -86,7 +85,7 @@ class FileMetadataViewsTestCase(GenericDocumentViewTestCase): def _request_multiple_document_submit_view(self): return self.post( - viewname='file_metadata:document_submit_multiple', + viewname='file_metadata:document_multiple_submit', data={ 'id_list': self.document.pk, } @@ -120,7 +119,7 @@ class DocumentTypeViewsTestCase(GenericDocumentViewTestCase): def _request_document_type_settings_view(self): return self.get( viewname='file_metadata:document_type_settings', - args=(self.document.document_type.pk,) + kwargs={'document_type_id': self.document.document_type.pk} ) def test_document_type_settings_view_no_permission(self): diff --git a/mayan/apps/file_metadata/urls.py b/mayan/apps/file_metadata/urls.py index c322d4f1ed..5236811808 100644 --- a/mayan/apps/file_metadata/urls.py +++ b/mayan/apps/file_metadata/urls.py @@ -9,29 +9,30 @@ from .views import ( urlpatterns = [ url( - r'^documents/(?P\d+)/drivers/$', DocumentDriverListView.as_view(), - name='document_driver_list' + regex=r'^documents/(?P\d+)/drivers/$', + name='document_driver_list', view=DocumentDriverListView.as_view() + ), url( - r'^documents/(?P\d+)/submit/$', DocumentSubmitView.as_view(), - name='document_submit' + regex=r'^documents/(?P\d+)/submit/$', + name='document_submit', view=DocumentSubmitView.as_view() ), url( - r'^documents/multiple/submit/$', DocumentSubmitView.as_view(), - name='document_multiple_submit' + regex=r'^documents/multiple/submit/$', name='document_multiple_submit', + view=DocumentSubmitView.as_view() ), url( - r'^document_types/(?P\d+)/ocr/settings/$', - DocumentTypeSettingsEditView.as_view(), - name='document_type_settings' + regex=r'^document_types/(?P\d+)/ocr/settings/$', + name='document_type_settings', + view=DocumentTypeSettingsEditView.as_view() ), url( - r'^document_types/submit/$', DocumentTypeSubmitView.as_view(), - name='document_type_submit' + regex=r'^document_types/submit/$', name='document_type_submit', + view=DocumentTypeSubmitView.as_view() ), url( - r'^document_version_driver/(?P\d+)/attributes/$', - DocumentVersionDriverEntryFileMetadataListView.as_view(), - name='document_version_driver_file_metadata_list' + regex=r'^document_version_driver/(?P\d+)/attributes/$', + name='document_version_driver_file_metadata_list', + view=DocumentVersionDriverEntryFileMetadataListView.as_view() ), ] diff --git a/mayan/apps/file_metadata/views.py b/mayan/apps/file_metadata/views.py index c810062ae7..1efe7adaa4 100644 --- a/mayan/apps/file_metadata/views.py +++ b/mayan/apps/file_metadata/views.py @@ -45,7 +45,9 @@ class DocumentDriverListView(SingleObjectListView): } def get_object(self): - document = get_object_or_404(klass=Document, pk=self.kwargs['pk']) + document = get_object_or_404( + klass=Document, pk=self.kwargs['document_id'] + ) AccessControlList.objects.check_access( permissions=permission_file_metadata_view, user=self.request.user, obj=document @@ -72,7 +74,8 @@ class DocumentVersionDriverEntryFileMetadataListView(SingleObjectListView): def get_object(self): document_version_driver_entry = get_object_or_404( - klass=DocumentVersionDriverEntry, pk=self.kwargs['pk'] + klass=DocumentVersionDriverEntry, + pk=self.kwargs['document_version_driver_id'] ) AccessControlList.objects.check_access( obj=document_version_driver_entry.document_version, @@ -88,6 +91,7 @@ class DocumentVersionDriverEntryFileMetadataListView(SingleObjectListView): class DocumentSubmitView(MultipleObjectConfirmActionView): model = Document object_permission = permission_file_metadata_submit + pk_url_kwarg = 'document_id' success_message = '%(count)d document submitted to the file metadata queue.' success_message_plural = '%(count)d documents submitted to the file metadata queue.' @@ -111,10 +115,12 @@ class DocumentSubmitView(MultipleObjectConfirmActionView): class DocumentTypeSettingsEditView(SingleObjectEditView): fields = ('auto_process',) object_permission = permission_document_type_file_metadata_setup - post_action_redirect = reverse_lazy('documents:document_type_list') + post_action_redirect = reverse_lazy(viewname='documents:document_type_list') def get_document_type(self): - return get_object_or_404(klass=DocumentType, pk=self.kwargs['pk']) + return get_object_or_404( + klass=DocumentType, pk=self.kwargs['document_type_id'] + ) def get_extra_context(self): return { @@ -135,7 +141,7 @@ class DocumentTypeSubmitView(FormView): ) } form_class = DocumentTypeFilteredSelectForm - post_action_redirect = reverse_lazy('common:tools_list') + post_action_redirect = reverse_lazy(viewname='common:tools_list') def get_form_extra_kwargs(self): return {