Update documents app
Rename the DeletedDocument proxy model to a TrashedDocument. Rename the deleted_document views to trashed_document. Rename the document and deleted_document URL parameters to trashed_document. Update URL parameters to the '_id' form. Add keyword arguments. Update use of .filter_by_access(). Enclose trashed document restore method in a transaction. Sort arguments. Update app for compliance with MERCs 5 and 6. Add document page view tests. Add favorite document view tests. Movernize tests. Replace use of urlencode with furl. Update views to use ExternalObjectMixin. Refactor the document and version download views. Rename the DocumentDocumentTypeEditView to DocumentChangeTypeView. Move the trashed document views to their own module. Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
@@ -53,17 +53,17 @@ from .handlers import (
|
||||
)
|
||||
from .links import (
|
||||
link_clear_image_cache, link_document_clear_transformations,
|
||||
link_document_clone_transformations, link_document_delete,
|
||||
link_document_document_type_edit, link_document_download,
|
||||
link_document_clone_transformations, link_trashed_document_delete,
|
||||
link_document_change_type, link_document_download,
|
||||
link_document_duplicates_list, link_document_edit,
|
||||
link_document_favorites_add, link_document_favorites_remove,
|
||||
link_document_list, link_document_list_deleted,
|
||||
link_document_list, link_trashed_document_list,
|
||||
link_document_list_favorites, link_document_list_recent_access,
|
||||
link_document_list_recent_added,
|
||||
link_document_multiple_clear_transformations,
|
||||
link_document_multiple_delete, link_document_multiple_document_type_edit,
|
||||
link_trashed_document_multiple_delete, link_document_multiple_change_type,
|
||||
link_document_multiple_download, link_document_multiple_favorites_add,
|
||||
link_document_multiple_favorites_remove, link_document_multiple_restore,
|
||||
link_document_multiple_favorites_remove, link_trashed_document_multiple_restore,
|
||||
link_document_multiple_trash, link_document_multiple_update_page_count,
|
||||
link_document_page_navigation_first, link_document_page_navigation_last,
|
||||
link_document_page_navigation_next, link_document_page_navigation_previous,
|
||||
@@ -72,7 +72,7 @@ from .links import (
|
||||
link_document_page_view_reset, link_document_page_zoom_in,
|
||||
link_document_page_zoom_out, link_document_pages, link_document_preview,
|
||||
link_document_print, link_document_properties,
|
||||
link_document_quick_download, link_document_restore, link_document_trash,
|
||||
link_document_quick_download, link_trashed_document_restore, link_document_trash,
|
||||
link_document_type_create, link_document_type_delete,
|
||||
link_document_type_edit, link_document_type_filename_create,
|
||||
link_document_type_filename_delete, link_document_type_filename_edit,
|
||||
@@ -90,14 +90,14 @@ from .literals import (
|
||||
)
|
||||
from .menus import menu_documents
|
||||
from .permissions import (
|
||||
permission_document_create, permission_document_delete,
|
||||
permission_document_create,
|
||||
permission_document_download, permission_document_edit,
|
||||
permission_document_new_version, permission_document_print,
|
||||
permission_document_properties_edit, permission_document_restore,
|
||||
permission_document_trash, permission_document_type_delete,
|
||||
permission_document_type_edit, permission_document_type_view,
|
||||
permission_document_version_revert, permission_document_version_view,
|
||||
permission_document_view
|
||||
permission_document_properties_edit, permission_document_trash,
|
||||
permission_document_type_delete, permission_document_type_edit,
|
||||
permission_document_type_view, permission_document_version_revert,
|
||||
permission_document_version_view, permission_document_view,
|
||||
permission_trashed_document_delete, permission_trashed_document_restore
|
||||
)
|
||||
from .queues import * # NOQA
|
||||
# Just import to initialize the search models
|
||||
@@ -119,14 +119,18 @@ class DocumentsApp(MayanAppConfig):
|
||||
super(DocumentsApp, self).ready()
|
||||
from actstream import registry
|
||||
|
||||
DeletedDocument = self.get_model('DeletedDocument')
|
||||
Document = self.get_model('Document')
|
||||
DocumentPage = self.get_model('DocumentPage')
|
||||
DocumentPageSearchResult = self.get_model('DocumentPageSearchResult')
|
||||
DocumentType = self.get_model('DocumentType')
|
||||
DocumentTypeFilename = self.get_model('DocumentTypeFilename')
|
||||
DocumentVersion = self.get_model('DocumentVersion')
|
||||
DuplicatedDocumentProxy = self.get_model('DuplicatedDocumentProxy')
|
||||
Document = self.get_model(model_name='Document')
|
||||
DocumentPage = self.get_model(model_name='DocumentPage')
|
||||
DocumentPageSearchResult = self.get_model(
|
||||
model_name='DocumentPageSearchResult'
|
||||
)
|
||||
DocumentType = self.get_model(model_name='DocumentType')
|
||||
DocumentTypeFilename = self.get_model(model_name='DocumentTypeFilename')
|
||||
DocumentVersion = self.get_model(model_name='DocumentVersion')
|
||||
DuplicatedDocumentProxy = self.get_model(
|
||||
model_name='DuplicatedDocumentProxy'
|
||||
)
|
||||
TrashedDocument = self.get_model(model_name='TrashedDocument')
|
||||
|
||||
DynamicSerializerField.add_serializer(
|
||||
klass=Document,
|
||||
@@ -185,15 +189,16 @@ class DocumentsApp(MayanAppConfig):
|
||||
ModelPermission.register(
|
||||
model=Document, permissions=(
|
||||
permission_acl_edit, permission_acl_view,
|
||||
permission_document_delete, permission_document_download,
|
||||
permission_document_edit, permission_document_new_version,
|
||||
permission_document_print, permission_document_properties_edit,
|
||||
permission_document_restore, permission_document_trash,
|
||||
permission_document_download, permission_document_edit,
|
||||
permission_document_new_version, permission_document_print,
|
||||
permission_document_properties_edit, permission_document_trash,
|
||||
permission_document_version_revert,
|
||||
permission_document_version_view, permission_document_view,
|
||||
permission_events_view, permission_transformation_create,
|
||||
permission_transformation_delete,
|
||||
permission_transformation_edit, permission_transformation_view,
|
||||
permission_trashed_document_delete,
|
||||
permission_trashed_document_restore
|
||||
)
|
||||
)
|
||||
|
||||
@@ -297,22 +302,22 @@ class DocumentsApp(MayanAppConfig):
|
||||
widget=TwoStateWidget
|
||||
)
|
||||
|
||||
# DeletedDocument
|
||||
# TrashedDocument
|
||||
SourceColumn(
|
||||
attribute='label', is_identifier=True, is_sortable=True,
|
||||
source=DeletedDocument
|
||||
source=TrashedDocument
|
||||
)
|
||||
SourceColumn(
|
||||
func=lambda context: document_page_thumbnail_widget.render(
|
||||
instance=context['object']
|
||||
), label=_('Thumbnail'), source=DeletedDocument
|
||||
), label=_('Thumbnail'), source=TrashedDocument
|
||||
)
|
||||
|
||||
SourceColumn(
|
||||
attribute='document_type', is_sortable=True, source=DeletedDocument
|
||||
attribute='document_type', is_sortable=True, source=TrashedDocument
|
||||
)
|
||||
SourceColumn(
|
||||
attribute='get_rendered_deleted_date_time', source=DeletedDocument
|
||||
attribute='get_rendered_deleted_date_time', source=TrashedDocument
|
||||
)
|
||||
|
||||
# DocumentVersion
|
||||
@@ -445,7 +450,7 @@ class DocumentsApp(MayanAppConfig):
|
||||
links=(
|
||||
link_document_list_recent_access,
|
||||
link_document_list_recent_added, link_document_list_favorites,
|
||||
link_document_list, link_document_list_deleted,
|
||||
link_document_list, link_trashed_document_list,
|
||||
link_duplicated_document_list,
|
||||
)
|
||||
)
|
||||
@@ -493,7 +498,7 @@ class DocumentsApp(MayanAppConfig):
|
||||
menu_sidebar.bind_links(
|
||||
links=(link_trash_can_empty,),
|
||||
sources=(
|
||||
'documents:document_list_deleted', 'documents:trash_can_empty'
|
||||
'documents:trashed_document_list', 'documents:trash_can_empty'
|
||||
)
|
||||
)
|
||||
|
||||
@@ -501,7 +506,7 @@ class DocumentsApp(MayanAppConfig):
|
||||
menu_object.bind_links(
|
||||
links=(
|
||||
link_document_favorites_add, link_document_favorites_remove,
|
||||
link_document_edit, link_document_document_type_edit,
|
||||
link_document_edit, link_document_change_type,
|
||||
link_document_print, link_document_trash,
|
||||
link_document_quick_download, link_document_download,
|
||||
link_document_clear_transformations,
|
||||
@@ -510,8 +515,8 @@ class DocumentsApp(MayanAppConfig):
|
||||
), sources=(Document,)
|
||||
)
|
||||
menu_object.bind_links(
|
||||
links=(link_document_restore, link_document_delete),
|
||||
sources=(DeletedDocument,)
|
||||
links=(link_trashed_document_restore, link_trashed_document_delete),
|
||||
sources=(TrashedDocument,)
|
||||
)
|
||||
|
||||
# Document facet links
|
||||
@@ -548,13 +553,14 @@ class DocumentsApp(MayanAppConfig):
|
||||
link_document_multiple_clear_transformations,
|
||||
link_document_multiple_trash, link_document_multiple_download,
|
||||
link_document_multiple_update_page_count,
|
||||
link_document_multiple_document_type_edit,
|
||||
link_document_multiple_change_type,
|
||||
), sources=(Document,)
|
||||
)
|
||||
menu_multi_item.bind_links(
|
||||
links=(
|
||||
link_document_multiple_restore, link_document_multiple_delete
|
||||
), sources=(DeletedDocument,)
|
||||
link_trashed_document_multiple_restore,
|
||||
link_trashed_document_multiple_delete
|
||||
), sources=(TrashedDocument,)
|
||||
)
|
||||
|
||||
# Document pages
|
||||
@@ -614,7 +620,7 @@ class DocumentsApp(MayanAppConfig):
|
||||
receiver=handler_scan_duplicates_for,
|
||||
)
|
||||
|
||||
registry.register(DeletedDocument)
|
||||
registry.register(TrashedDocument)
|
||||
registry.register(Document)
|
||||
registry.register(DocumentType)
|
||||
registry.register(DocumentVersion)
|
||||
|
||||
Reference in New Issue
Block a user