Update file metadata app
Add keyword arguments to links and test views. Update URL parameters to use the _id form. Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
@@ -35,7 +35,7 @@ class EXIFToolDriver(FileMetadataDriver):
|
|||||||
try:
|
try:
|
||||||
document_version.save_to_file(filepath=temp_filename)
|
document_version.save_to_file(filepath=temp_filename)
|
||||||
result = self.command_exiftool(temp_filename)
|
result = self.command_exiftool(temp_filename)
|
||||||
return json.loads(result.stdout)[0]
|
return json.loads(s=result.stdout)[0]
|
||||||
finally:
|
finally:
|
||||||
fs_cleanup(filename=temp_filename)
|
fs_cleanup(filename=temp_filename)
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ from django.utils.translation import ugettext_lazy as _
|
|||||||
from mayan.apps.events import EventTypeNamespace
|
from mayan.apps.events import EventTypeNamespace
|
||||||
|
|
||||||
namespace = 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(
|
event_file_metadata_document_version_submit = namespace.add_event_type(
|
||||||
|
|||||||
@@ -13,17 +13,20 @@ from .permissions import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
link_document_driver_list = Link(
|
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'),
|
permissions=(permission_file_metadata_view,), text=_('File metadata'),
|
||||||
view='file_metadata:document_driver_list',
|
view='file_metadata:document_driver_list',
|
||||||
)
|
)
|
||||||
link_document_file_metadata_list = Link(
|
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'),
|
permissions=(permission_file_metadata_view,), text=_('Attributes'),
|
||||||
view='file_metadata:document_version_driver_file_metadata_list',
|
view='file_metadata:document_version_driver_file_metadata_list',
|
||||||
)
|
)
|
||||||
link_document_submit = Link(
|
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,),
|
permissions=(permission_file_metadata_submit,),
|
||||||
text=_('Submit for file metadata'), view='file_metadata:document_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'
|
view='file_metadata:document_multiple_submit'
|
||||||
)
|
)
|
||||||
link_document_type_file_metadata_settings = Link(
|
link_document_type_file_metadata_settings = Link(
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class=icon_file_metadata,
|
icon_class=icon_file_metadata,
|
||||||
|
kwargs={'document_type_id': 'resolved_object.id'},
|
||||||
permissions=(permission_document_type_file_metadata_setup,),
|
permissions=(permission_document_type_file_metadata_setup,),
|
||||||
text=_('Setup file metadata'),
|
text=_('Setup file metadata'),
|
||||||
view='file_metadata:document_type_settings',
|
view='file_metadata:document_type_settings',
|
||||||
|
|||||||
@@ -7,14 +7,14 @@ from mayan.apps.permissions import PermissionNamespace
|
|||||||
namespace = PermissionNamespace(label=_('File metadata'), name='file_metadata')
|
namespace = PermissionNamespace(label=_('File metadata'), name='file_metadata')
|
||||||
|
|
||||||
permission_document_type_file_metadata_setup = namespace.add_permission(
|
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(
|
permission_file_metadata_submit = namespace.add_permission(
|
||||||
name='file_metadata_submit', label=_(
|
label=_(
|
||||||
'Submit document for file metadata processing'
|
'Submit document for file metadata processing'
|
||||||
)
|
), name='file_metadata_submit'
|
||||||
)
|
)
|
||||||
permission_file_metadata_view = namespace.add_permission(
|
permission_file_metadata_view = namespace.add_permission(
|
||||||
name='file_metadata_view', label=_('View file metadata')
|
label=_('View file metadata'), name='file_metadata_view'
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ from mayan.apps.smart_settings import Namespace
|
|||||||
|
|
||||||
from .literals import DEFAULT_EXIF_PATH
|
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(
|
setting_drivers_arguments = namespace.add_setting(
|
||||||
global_name='FILE_METADATA_DRIVERS_ARGUMENTS',
|
global_name='FILE_METADATA_DRIVERS_ARGUMENTS',
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ class FileMetadataViewsTestCase(GenericDocumentViewTestCase):
|
|||||||
|
|
||||||
def _request_document_version_driver_list_view(self):
|
def _request_document_version_driver_list_view(self):
|
||||||
return self.get(
|
return self.get(
|
||||||
args=(self.document.pk,),
|
|
||||||
viewname='file_metadata:document_driver_list',
|
viewname='file_metadata:document_driver_list',
|
||||||
|
kwargs={'document_id': self.document.pk}
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_document_version_driver_list_view_no_permission(self):
|
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):
|
def _request_document_version_file_metadata_list_view(self):
|
||||||
return self.get(
|
return self.get(
|
||||||
args=(
|
|
||||||
self.document.latest_version.file_metadata_drivers.first().pk,
|
|
||||||
),
|
|
||||||
viewname='file_metadata:document_version_driver_file_metadata_list',
|
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):
|
def test_document_version_file_metadata_list_view_no_permission(self):
|
||||||
@@ -62,7 +60,8 @@ class FileMetadataViewsTestCase(GenericDocumentViewTestCase):
|
|||||||
|
|
||||||
def _request_document_submit_view(self):
|
def _request_document_submit_view(self):
|
||||||
return self.post(
|
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):
|
def test_document_submit_view_no_permission(self):
|
||||||
@@ -86,7 +85,7 @@ class FileMetadataViewsTestCase(GenericDocumentViewTestCase):
|
|||||||
|
|
||||||
def _request_multiple_document_submit_view(self):
|
def _request_multiple_document_submit_view(self):
|
||||||
return self.post(
|
return self.post(
|
||||||
viewname='file_metadata:document_submit_multiple',
|
viewname='file_metadata:document_multiple_submit',
|
||||||
data={
|
data={
|
||||||
'id_list': self.document.pk,
|
'id_list': self.document.pk,
|
||||||
}
|
}
|
||||||
@@ -120,7 +119,7 @@ class DocumentTypeViewsTestCase(GenericDocumentViewTestCase):
|
|||||||
def _request_document_type_settings_view(self):
|
def _request_document_type_settings_view(self):
|
||||||
return self.get(
|
return self.get(
|
||||||
viewname='file_metadata:document_type_settings',
|
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):
|
def test_document_type_settings_view_no_permission(self):
|
||||||
|
|||||||
@@ -9,29 +9,30 @@ from .views import (
|
|||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(
|
url(
|
||||||
r'^documents/(?P<pk>\d+)/drivers/$', DocumentDriverListView.as_view(),
|
regex=r'^documents/(?P<document_id>\d+)/drivers/$',
|
||||||
name='document_driver_list'
|
name='document_driver_list', view=DocumentDriverListView.as_view()
|
||||||
|
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r'^documents/(?P<pk>\d+)/submit/$', DocumentSubmitView.as_view(),
|
regex=r'^documents/(?P<document_id>\d+)/submit/$',
|
||||||
name='document_submit'
|
name='document_submit', view=DocumentSubmitView.as_view()
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r'^documents/multiple/submit/$', DocumentSubmitView.as_view(),
|
regex=r'^documents/multiple/submit/$', name='document_multiple_submit',
|
||||||
name='document_multiple_submit'
|
view=DocumentSubmitView.as_view()
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r'^document_types/(?P<pk>\d+)/ocr/settings/$',
|
regex=r'^document_types/(?P<document_type_id>\d+)/ocr/settings/$',
|
||||||
DocumentTypeSettingsEditView.as_view(),
|
name='document_type_settings',
|
||||||
name='document_type_settings'
|
view=DocumentTypeSettingsEditView.as_view()
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r'^document_types/submit/$', DocumentTypeSubmitView.as_view(),
|
regex=r'^document_types/submit/$', name='document_type_submit',
|
||||||
name='document_type_submit'
|
view=DocumentTypeSubmitView.as_view()
|
||||||
),
|
),
|
||||||
url(
|
url(
|
||||||
r'^document_version_driver/(?P<pk>\d+)/attributes/$',
|
regex=r'^document_version_driver/(?P<document_version_driver_id>\d+)/attributes/$',
|
||||||
DocumentVersionDriverEntryFileMetadataListView.as_view(),
|
name='document_version_driver_file_metadata_list',
|
||||||
name='document_version_driver_file_metadata_list'
|
view=DocumentVersionDriverEntryFileMetadataListView.as_view()
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -45,7 +45,9 @@ class DocumentDriverListView(SingleObjectListView):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def get_object(self):
|
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(
|
AccessControlList.objects.check_access(
|
||||||
permissions=permission_file_metadata_view,
|
permissions=permission_file_metadata_view,
|
||||||
user=self.request.user, obj=document
|
user=self.request.user, obj=document
|
||||||
@@ -72,7 +74,8 @@ class DocumentVersionDriverEntryFileMetadataListView(SingleObjectListView):
|
|||||||
|
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
document_version_driver_entry = get_object_or_404(
|
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(
|
AccessControlList.objects.check_access(
|
||||||
obj=document_version_driver_entry.document_version,
|
obj=document_version_driver_entry.document_version,
|
||||||
@@ -88,6 +91,7 @@ class DocumentVersionDriverEntryFileMetadataListView(SingleObjectListView):
|
|||||||
class DocumentSubmitView(MultipleObjectConfirmActionView):
|
class DocumentSubmitView(MultipleObjectConfirmActionView):
|
||||||
model = Document
|
model = Document
|
||||||
object_permission = permission_file_metadata_submit
|
object_permission = permission_file_metadata_submit
|
||||||
|
pk_url_kwarg = 'document_id'
|
||||||
success_message = '%(count)d document submitted to the file metadata queue.'
|
success_message = '%(count)d document submitted to the file metadata queue.'
|
||||||
success_message_plural = '%(count)d documents 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):
|
class DocumentTypeSettingsEditView(SingleObjectEditView):
|
||||||
fields = ('auto_process',)
|
fields = ('auto_process',)
|
||||||
object_permission = permission_document_type_file_metadata_setup
|
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):
|
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):
|
def get_extra_context(self):
|
||||||
return {
|
return {
|
||||||
@@ -135,7 +141,7 @@ class DocumentTypeSubmitView(FormView):
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
form_class = DocumentTypeFilteredSelectForm
|
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):
|
def get_form_extra_kwargs(self):
|
||||||
return {
|
return {
|
||||||
|
|||||||
Reference in New Issue
Block a user