Update permission variable name from "permission_document_metadata_" to "permission_metadata_". Fix failing tests. Add test for same metadata type mixin. Split metadata add and remove test into test for GET and POST requests. Remove use of urlencode and instead use furl. Simplify view using self.action_count and self.action_id_list. Use ExternalObjectMixin to remove repeated code. Move the repeated code to test for all documents to be of the same type into its own mixin. Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
93 lines
3.7 KiB
Python
93 lines
3.7 KiB
Python
from __future__ import unicode_literals
|
|
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
from mayan.apps.documents.icons import icon_document_type
|
|
from mayan.apps.documents.permissions import permission_document_type_edit
|
|
from mayan.apps.navigation import Link
|
|
|
|
from .icons import (
|
|
icon_document_metadata_add, icon_document_metadata_edit,
|
|
icon_document_metadata_remove, icon_document_metadata_view,
|
|
icon_document_multiple_metadata_add, icon_document_multiple_metadata_edit,
|
|
icon_document_multiple_metadata_remove, icon_metadata_type_create,
|
|
icon_document_type_metadata_types, icon_metadata_type_delete,
|
|
icon_metadata_type_edit, icon_metadata_type_list
|
|
)
|
|
from .permissions import (
|
|
permission_metadata_add, permission_metadata_edit,
|
|
permission_metadata_remove, permission_metadata_view,
|
|
permission_metadata_type_create, permission_metadata_type_delete,
|
|
permission_metadata_type_edit, permission_metadata_type_view
|
|
)
|
|
|
|
link_document_metadata_add = Link(
|
|
icon_class=icon_document_metadata_add, kwargs={'document_id': 'object.pk'},
|
|
permission=permission_metadata_add, text=_('Add metadata'),
|
|
view='metadata:document_metadata_add',
|
|
)
|
|
link_document_metadata_edit = Link(
|
|
icon_class=icon_document_metadata_edit, kwargs={'document_id': 'object.pk'},
|
|
permission=permission_metadata_edit, text=_('Edit metadata'),
|
|
view='metadata:document_metadata_edit'
|
|
)
|
|
link_document_metadata_remove = Link(
|
|
icon_class=icon_document_metadata_remove,
|
|
kwargs={'document_id': 'object.pk'},
|
|
permission=permission_metadata_remove,
|
|
text=_('Remove metadata'), view='metadata:document_metadata_remove'
|
|
)
|
|
link_document_metadata_view = Link(
|
|
icon_class=icon_document_metadata_view,
|
|
kwargs={'document_id': 'resolved_object.pk'},
|
|
permission=permission_metadata_view, text=_('Metadata'),
|
|
view='metadata:document_metadata_view'
|
|
)
|
|
link_document_multiple_metadata_add = Link(
|
|
icon_class=icon_document_multiple_metadata_add, text=_('Add metadata'),
|
|
view='metadata:document_multiple_metadata_add'
|
|
)
|
|
link_document_multiple_metadata_edit = Link(
|
|
icon_class=icon_document_multiple_metadata_edit, text=_('Edit metadata'),
|
|
view='metadata:document_multiple_metadata_edit'
|
|
)
|
|
link_document_multiple_metadata_remove = Link(
|
|
icon_class=icon_document_multiple_metadata_remove,
|
|
text=_('Remove metadata'),
|
|
view='metadata:document_multiple_metadata_remove'
|
|
)
|
|
link_document_type_metadata_types = Link(
|
|
icon_class=icon_document_type_metadata_types,
|
|
kwargs={'document_type_id': 'resolved_object.pk'},
|
|
permission=permission_document_type_edit, text=_('Metadata types'),
|
|
view='metadata:document_type_metadata_types'
|
|
)
|
|
link_metadata_type_document_types = Link(
|
|
icon_class=icon_document_type,
|
|
kwargs={'metadata_type_id': 'resolved_object.pk'},
|
|
permission=permission_document_type_edit, text=_('Document types'),
|
|
view='metadata:metadata_type_document_types'
|
|
)
|
|
link_metadata_type_create = Link(
|
|
icon_class=icon_metadata_type_create,
|
|
permission=permission_metadata_type_create, text=_('Create new'),
|
|
view='metadata:metadata_type_create'
|
|
)
|
|
link_metadata_type_delete = Link(
|
|
icon_class=icon_metadata_type_delete,
|
|
kwargs={'metadata_type_id': 'object.pk'},
|
|
permission=permission_metadata_type_delete, tags='dangerous',
|
|
text=_('Delete'), view='metadata:metadata_type_delete'
|
|
)
|
|
link_metadata_type_edit = Link(
|
|
icon_class=icon_metadata_type_edit,
|
|
kwargs={'metadata_type_id': 'object.pk'},
|
|
permission=permission_metadata_type_edit, text=_('Edit'),
|
|
view='metadata:metadata_type_edit'
|
|
)
|
|
link_metadata_type_list = Link(
|
|
icon_class=icon_metadata_type_list,
|
|
permission=permission_metadata_type_view, text=_('Metadata types'),
|
|
view='metadata:metadata_type_list'
|
|
)
|