Split document app links
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
@@ -98,6 +98,7 @@
|
|||||||
- Update API status code on insufficient access for the apps:
|
- Update API status code on insufficient access for the apps:
|
||||||
indexes, parsing, documents, metadata, ocr, permission,
|
indexes, parsing, documents, metadata, ocr, permission,
|
||||||
user management.
|
user management.
|
||||||
|
- Split document app links.
|
||||||
|
|
||||||
3.2.9 (2019-XX-XX)
|
3.2.9 (2019-XX-XX)
|
||||||
==================
|
==================
|
||||||
|
|||||||
@@ -46,39 +46,50 @@ from .handlers import (
|
|||||||
handler_create_default_document_type, handler_create_document_cache,
|
handler_create_default_document_type, handler_create_document_cache,
|
||||||
handler_remove_empty_duplicates_lists, handler_scan_duplicates_for
|
handler_remove_empty_duplicates_lists, handler_scan_duplicates_for
|
||||||
)
|
)
|
||||||
from .links import (
|
from .links.document_links import (
|
||||||
link_document_clear_transformations,
|
link_document_clear_transformations, link_document_clone_transformations,
|
||||||
link_document_clone_transformations, link_document_delete,
|
|
||||||
link_document_document_type_edit, link_document_download,
|
link_document_document_type_edit, link_document_download,
|
||||||
link_document_duplicates_list, link_document_edit,
|
link_document_duplicates_list, link_document_edit, link_document_list,
|
||||||
link_document_favorites_add, link_document_favorites_remove,
|
link_document_list_recent_access, link_document_list_recent_added,
|
||||||
link_document_list, link_document_list_deleted,
|
|
||||||
link_document_list_favorites, link_document_list_recent_access,
|
|
||||||
link_document_list_recent_added,
|
|
||||||
link_document_multiple_clear_transformations,
|
link_document_multiple_clear_transformations,
|
||||||
link_document_multiple_delete, link_document_multiple_document_type_edit,
|
link_document_multiple_document_type_edit,
|
||||||
link_document_multiple_download, link_document_multiple_favorites_add,
|
link_document_multiple_download, link_document_preview,
|
||||||
link_document_multiple_favorites_remove, link_document_multiple_restore,
|
link_document_print, link_document_properties,
|
||||||
link_document_multiple_trash, link_document_multiple_update_page_count,
|
link_document_quick_download, link_duplicated_document_list,
|
||||||
link_document_page_disable, link_document_page_multiple_disable,
|
link_duplicated_document_scan
|
||||||
link_document_page_enable, link_document_page_multiple_enable,
|
)
|
||||||
link_document_page_navigation_first, link_document_page_navigation_last,
|
from .links.document_version_links import (
|
||||||
link_document_page_navigation_next, link_document_page_navigation_previous,
|
|
||||||
link_document_page_return, link_document_page_rotate_left,
|
|
||||||
link_document_page_rotate_right, link_document_page_view,
|
|
||||||
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_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, link_document_type_filename_list,
|
|
||||||
link_document_type_list, link_document_type_policies,
|
|
||||||
link_document_type_setup, link_document_update_page_count,
|
|
||||||
link_document_version_download, link_document_version_list,
|
link_document_version_download, link_document_version_list,
|
||||||
link_document_version_return_document, link_document_version_return_list,
|
link_document_version_return_document, link_document_version_return_list,
|
||||||
link_document_version_revert, link_document_version_view,
|
link_document_version_revert, link_document_version_view
|
||||||
link_duplicated_document_list, link_duplicated_document_scan,
|
)
|
||||||
|
from .links.document_type_links import (
|
||||||
|
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,
|
||||||
|
link_document_type_filename_list, link_document_type_list,
|
||||||
|
link_document_type_policies, link_document_type_setup
|
||||||
|
)
|
||||||
|
from .links.document_version_page_links import (
|
||||||
|
link_document_multiple_update_page_count, link_document_page_disable,
|
||||||
|
link_document_page_enable, link_document_page_multiple_enable,
|
||||||
|
link_document_page_multiple_disable, link_document_page_navigation_first,
|
||||||
|
link_document_page_navigation_last, link_document_page_navigation_next,
|
||||||
|
link_document_page_navigation_previous, link_document_page_return,
|
||||||
|
link_document_page_rotate_left, link_document_page_rotate_right,
|
||||||
|
link_document_page_view, link_document_page_view_reset,
|
||||||
|
link_document_page_zoom_in, link_document_page_zoom_out,
|
||||||
|
link_document_pages, link_document_update_page_count
|
||||||
|
)
|
||||||
|
from .links.favorite_links import (
|
||||||
|
link_document_favorites_add, link_document_favorites_remove,
|
||||||
|
link_document_list_favorites, link_document_multiple_favorites_add,
|
||||||
|
link_document_multiple_favorites_remove
|
||||||
|
)
|
||||||
|
from .links.trashed_document_links import (
|
||||||
|
link_document_delete, link_document_list_deleted,
|
||||||
|
link_document_multiple_delete, link_document_multiple_restore,
|
||||||
|
link_document_multiple_trash, link_document_restore, link_document_trash,
|
||||||
link_trash_can_empty
|
link_trash_can_empty
|
||||||
)
|
)
|
||||||
from .menus import menu_documents
|
from .menus import menu_documents
|
||||||
|
|||||||
@@ -1,452 +0,0 @@
|
|||||||
from __future__ import absolute_import, unicode_literals
|
|
||||||
|
|
||||||
from django.utils.translation import ugettext_lazy as _
|
|
||||||
|
|
||||||
from mayan.apps.converter.permissions import (
|
|
||||||
permission_transformation_delete, permission_transformation_edit
|
|
||||||
)
|
|
||||||
from mayan.apps.navigation.classes import Link
|
|
||||||
|
|
||||||
from .icons import (
|
|
||||||
icon_document_list_recent_access,
|
|
||||||
icon_recent_added_document_list, icon_document_page_navigation_first,
|
|
||||||
icon_document_page_navigation_last, icon_document_page_navigation_next,
|
|
||||||
icon_document_page_navigation_previous, icon_document_page_return,
|
|
||||||
icon_document_page_rotate_left, icon_document_page_rotate_right,
|
|
||||||
icon_document_page_zoom_in, icon_document_page_zoom_out,
|
|
||||||
icon_document_type_create, icon_document_type_delete,
|
|
||||||
icon_document_type_edit, icon_document_type_setup,
|
|
||||||
icon_duplicated_document_list, icon_duplicated_document_scan
|
|
||||||
)
|
|
||||||
from .permissions import (
|
|
||||||
permission_document_delete, permission_document_edit,
|
|
||||||
permission_document_download, permission_document_properties_edit,
|
|
||||||
permission_document_print, permission_document_restore,
|
|
||||||
permission_document_tools, permission_document_version_revert,
|
|
||||||
permission_document_view, permission_document_trash,
|
|
||||||
permission_document_type_create, permission_document_type_delete,
|
|
||||||
permission_document_type_edit, permission_document_type_view,
|
|
||||||
permission_empty_trash, permission_document_version_view
|
|
||||||
)
|
|
||||||
from .settings import setting_zoom_max_level, setting_zoom_min_level
|
|
||||||
|
|
||||||
|
|
||||||
def is_not_current_version(context):
|
|
||||||
# Use the 'object' key when the document version is an object in a list,
|
|
||||||
# such as when showing the version list view and use the 'resolved_object'
|
|
||||||
# when the document version is the context object, such as when showing the
|
|
||||||
# signatures list of a documern version. This can be fixed by updating
|
|
||||||
# the navigations app object resolution logic to use 'resolved_object' even
|
|
||||||
# for objects in a list.
|
|
||||||
document_version = context.get('object', context['resolved_object'])
|
|
||||||
return document_version.document.latest_version.timestamp != document_version.timestamp
|
|
||||||
|
|
||||||
|
|
||||||
def is_first_page(context):
|
|
||||||
return context['resolved_object'].siblings.first() == context['resolved_object']
|
|
||||||
|
|
||||||
|
|
||||||
def is_last_page(context):
|
|
||||||
return context['resolved_object'].siblings.last() == context['resolved_object']
|
|
||||||
|
|
||||||
|
|
||||||
def is_max_zoom(context):
|
|
||||||
return context['zoom'] >= setting_zoom_max_level.value
|
|
||||||
|
|
||||||
|
|
||||||
def is_min_zoom(context):
|
|
||||||
return context['zoom'] <= setting_zoom_min_level.value
|
|
||||||
|
|
||||||
|
|
||||||
def is_document_page_enabled(context):
|
|
||||||
return context['resolved_object'].enabled
|
|
||||||
|
|
||||||
|
|
||||||
def is_document_page_disabled(context):
|
|
||||||
return not context['resolved_object'].enabled
|
|
||||||
|
|
||||||
|
|
||||||
# Facet
|
|
||||||
link_document_preview = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_preview',
|
|
||||||
permissions=(permission_document_view,),
|
|
||||||
text=_('Preview'), view='documents:document_preview',
|
|
||||||
)
|
|
||||||
link_document_properties = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_properties',
|
|
||||||
permissions=(permission_document_view,),
|
|
||||||
text=_('Properties'), view='documents:document_properties',
|
|
||||||
)
|
|
||||||
link_document_version_list = Link(
|
|
||||||
args='resolved_object.pk',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_version_list',
|
|
||||||
permissions=(permission_document_version_view,),
|
|
||||||
text=_('Versions'), view='documents:document_version_list',
|
|
||||||
)
|
|
||||||
link_document_pages = Link(
|
|
||||||
args='resolved_object.pk',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_pages',
|
|
||||||
permissions=(permission_document_view,), text=_('Pages'),
|
|
||||||
view='documents:document_pages',
|
|
||||||
)
|
|
||||||
|
|
||||||
# Actions
|
|
||||||
link_document_clear_transformations = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_transformations_clear',
|
|
||||||
permissions=(permission_transformation_delete,),
|
|
||||||
text=_('Clear transformations'),
|
|
||||||
view='documents:document_clear_transformations',
|
|
||||||
)
|
|
||||||
link_document_clone_transformations = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_transformations_clone',
|
|
||||||
permissions=(permission_transformation_edit,),
|
|
||||||
text=_('Clone transformations'),
|
|
||||||
view='documents:document_clone_transformations',
|
|
||||||
)
|
|
||||||
link_document_delete = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_trashed_document_delete',
|
|
||||||
permissions=(permission_document_delete,),
|
|
||||||
tags='dangerous', text=_('Delete'), view='documents:document_delete',
|
|
||||||
|
|
||||||
)
|
|
||||||
|
|
||||||
link_document_list_favorites = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_favorite_document_list',
|
|
||||||
text=_('Favorites'),
|
|
||||||
view='documents:document_list_favorites'
|
|
||||||
)
|
|
||||||
link_document_favorites_add = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_favorite_document_add',
|
|
||||||
permissions=(permission_document_view,), text=_('Add to favorites'),
|
|
||||||
view='documents:document_add_to_favorites',
|
|
||||||
)
|
|
||||||
link_document_favorites_remove = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_favorite_document_remove',
|
|
||||||
permissions=(permission_document_view,), text=_('Remove from favorites'),
|
|
||||||
view='documents:document_remove_from_favorites',
|
|
||||||
)
|
|
||||||
link_document_trash = Link(
|
|
||||||
args='resolved_object.id', permissions=(permission_document_trash,),
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_trash_send',
|
|
||||||
tags='dangerous', text=_('Move to trash'),
|
|
||||||
view='documents:document_trash',
|
|
||||||
)
|
|
||||||
link_document_edit = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_edit',
|
|
||||||
permissions=(permission_document_properties_edit,),
|
|
||||||
text=_('Edit properties'), view='documents:document_edit',
|
|
||||||
)
|
|
||||||
link_document_document_type_edit = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_type_change',
|
|
||||||
permissions=(permission_document_properties_edit,), text=_('Change type'),
|
|
||||||
view='documents:document_document_type_edit',
|
|
||||||
)
|
|
||||||
link_document_download = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_download',
|
|
||||||
permissions=(permission_document_download,), text=_('Advanced download'),
|
|
||||||
view='documents:document_download_form',
|
|
||||||
)
|
|
||||||
link_document_print = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_print',
|
|
||||||
permissions=(permission_document_print,),
|
|
||||||
text=_('Print'), view='documents:document_print',
|
|
||||||
)
|
|
||||||
link_document_quick_download = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_quick_download',
|
|
||||||
permissions=(permission_document_download,), text=_('Quick download'),
|
|
||||||
view='documents:document_download',
|
|
||||||
)
|
|
||||||
link_document_update_page_count = Link(
|
|
||||||
args='resolved_object.pk',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_page_count_update',
|
|
||||||
permissions=(permission_document_tools,),
|
|
||||||
text=_('Recalculate page count'),
|
|
||||||
view='documents:document_update_page_count'
|
|
||||||
)
|
|
||||||
link_document_restore = Link(
|
|
||||||
permissions=(permission_document_restore,),
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_trashed_document_restore',
|
|
||||||
text=_('Restore'),
|
|
||||||
view='documents:document_restore', args='object.pk'
|
|
||||||
)
|
|
||||||
link_document_multiple_clear_transformations = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_transformations_clear',
|
|
||||||
permissions=(permission_transformation_delete,),
|
|
||||||
text=_('Clear transformations'),
|
|
||||||
view='documents:document_multiple_clear_transformations'
|
|
||||||
)
|
|
||||||
link_document_multiple_trash = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_trash_send',
|
|
||||||
tags='dangerous', text=_('Move to trash'),
|
|
||||||
view='documents:document_multiple_trash'
|
|
||||||
)
|
|
||||||
link_document_multiple_delete = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_trashed_document_delete',
|
|
||||||
tags='dangerous', text=_('Delete'),
|
|
||||||
view='documents:document_multiple_delete'
|
|
||||||
)
|
|
||||||
link_document_multiple_favorites_add = Link(
|
|
||||||
text=_('Add to favorites'),
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_favorite_document_add',
|
|
||||||
view='documents:document_multiple_add_to_favorites',
|
|
||||||
)
|
|
||||||
link_document_multiple_favorites_remove = Link(
|
|
||||||
text=_('Remove from favorites'),
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_favorite_document_remove',
|
|
||||||
view='documents:document_multiple_remove_from_favorites',
|
|
||||||
)
|
|
||||||
link_document_multiple_document_type_edit = Link(
|
|
||||||
text=_('Change type'),
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_type_change',
|
|
||||||
view='documents:document_multiple_document_type_edit'
|
|
||||||
)
|
|
||||||
link_document_multiple_download = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_download',
|
|
||||||
text=_('Advanced download'),
|
|
||||||
view='documents:document_multiple_download_form'
|
|
||||||
)
|
|
||||||
link_document_multiple_update_page_count = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_page_count_update',
|
|
||||||
text=_('Recalculate page count'),
|
|
||||||
view='documents:document_multiple_update_page_count'
|
|
||||||
)
|
|
||||||
link_document_multiple_restore = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_trashed_document_restore',
|
|
||||||
text=_('Restore'), view='documents:document_multiple_restore'
|
|
||||||
)
|
|
||||||
|
|
||||||
# Versions
|
|
||||||
link_document_version_download = Link(
|
|
||||||
args='resolved_object.pk',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_version_download',
|
|
||||||
permissions=(permission_document_download,), text=_('Download version'),
|
|
||||||
view='documents:document_version_download_form'
|
|
||||||
)
|
|
||||||
link_document_version_return_document = Link(
|
|
||||||
args='resolved_object.document.pk',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_version_return_document',
|
|
||||||
permissions=(permission_document_view,), text=_('Document'),
|
|
||||||
view='documents:document_preview',
|
|
||||||
)
|
|
||||||
link_document_version_return_list = Link(
|
|
||||||
args='resolved_object.document.pk',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_version_return_list',
|
|
||||||
permissions=(permission_document_version_view,), text=_('Versions'),
|
|
||||||
view='documents:document_version_list',
|
|
||||||
)
|
|
||||||
link_document_version_view = Link(
|
|
||||||
args='resolved_object.pk',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_version_view',
|
|
||||||
permissions=(permission_document_version_view,),
|
|
||||||
text=_('Details'), view='documents:document_version_view'
|
|
||||||
)
|
|
||||||
|
|
||||||
# Views
|
|
||||||
link_document_list = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_list',
|
|
||||||
text=_('All documents'),
|
|
||||||
view='documents:document_list'
|
|
||||||
)
|
|
||||||
link_document_list_recent_access = Link(
|
|
||||||
icon_class=icon_document_list_recent_access, text=_('Recently accessed'),
|
|
||||||
view='documents:document_list_recent_access'
|
|
||||||
)
|
|
||||||
link_document_list_recent_added = Link(
|
|
||||||
icon_class=icon_recent_added_document_list, text=_('Recently added'),
|
|
||||||
view='documents:document_list_recent_added'
|
|
||||||
)
|
|
||||||
link_document_list_deleted = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_trashed_document_list',
|
|
||||||
text=_('Trash can'), view='documents:document_list_deleted'
|
|
||||||
)
|
|
||||||
|
|
||||||
link_trash_can_empty = Link(
|
|
||||||
permissions=(permission_empty_trash,), text=_('Empty trash'),
|
|
||||||
view='documents:trash_can_empty'
|
|
||||||
)
|
|
||||||
|
|
||||||
# Document pages
|
|
||||||
|
|
||||||
link_document_page_disable = Link(
|
|
||||||
condition=is_document_page_enabled,
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_page_disable',
|
|
||||||
kwargs={'pk': 'resolved_object.id'},
|
|
||||||
permissions=(permission_document_edit,), text=_('Disable page'),
|
|
||||||
view='documents:document_page_disable'
|
|
||||||
)
|
|
||||||
link_document_page_multiple_disable = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_page_disable',
|
|
||||||
text=_('Disable pages'),
|
|
||||||
view='documents:document_page_multiple_disable'
|
|
||||||
)
|
|
||||||
link_document_page_enable = Link(
|
|
||||||
condition=is_document_page_disabled,
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_page_enable',
|
|
||||||
kwargs={'pk': 'resolved_object.id'},
|
|
||||||
permissions=(permission_document_edit,), text=_('Enable page'),
|
|
||||||
view='documents:document_page_enable'
|
|
||||||
)
|
|
||||||
link_document_page_multiple_enable = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_page_enable',
|
|
||||||
text=_('Enable pages'),
|
|
||||||
view='documents:document_page_multiple_enable'
|
|
||||||
)
|
|
||||||
link_document_page_navigation_first = Link(
|
|
||||||
args='resolved_object.pk', conditional_disable=is_first_page,
|
|
||||||
icon_class=icon_document_page_navigation_first,
|
|
||||||
keep_query=True, permissions=(permission_document_view,),
|
|
||||||
text=_('First page'), view='documents:document_page_navigation_first',
|
|
||||||
)
|
|
||||||
link_document_page_navigation_last = Link(
|
|
||||||
args='resolved_object.pk', conditional_disable=is_last_page,
|
|
||||||
icon_class=icon_document_page_navigation_last,
|
|
||||||
keep_query=True, text=_('Last page'),
|
|
||||||
permissions=(permission_document_view,),
|
|
||||||
view='documents:document_page_navigation_last',
|
|
||||||
)
|
|
||||||
link_document_page_navigation_previous = Link(
|
|
||||||
args='resolved_object.pk', conditional_disable=is_first_page,
|
|
||||||
icon_class=icon_document_page_navigation_previous,
|
|
||||||
keep_query=True, permissions=(permission_document_view,),
|
|
||||||
text=_('Previous page'),
|
|
||||||
view='documents:document_page_navigation_previous',
|
|
||||||
)
|
|
||||||
link_document_page_navigation_next = Link(
|
|
||||||
args='resolved_object.pk', conditional_disable=is_last_page,
|
|
||||||
icon_class=icon_document_page_navigation_next,
|
|
||||||
keep_query=True, text=_('Next page'),
|
|
||||||
permissions=(permission_document_view,),
|
|
||||||
view='documents:document_page_navigation_next',
|
|
||||||
)
|
|
||||||
link_document_page_return = Link(
|
|
||||||
args='resolved_object.document.pk', icon_class=icon_document_page_return,
|
|
||||||
permissions=(permission_document_view,), text=_('Document'),
|
|
||||||
view='documents:document_preview',
|
|
||||||
)
|
|
||||||
link_document_page_rotate_left = Link(
|
|
||||||
args='resolved_object.pk', icon_class=icon_document_page_rotate_left,
|
|
||||||
keep_query=True, permissions=(permission_document_view,),
|
|
||||||
text=_('Rotate left'), view='documents:document_page_rotate_left',
|
|
||||||
)
|
|
||||||
link_document_page_rotate_right = Link(
|
|
||||||
args='resolved_object.pk', icon_class=icon_document_page_rotate_right,
|
|
||||||
keep_query=True, permissions=(permission_document_view,),
|
|
||||||
text=_('Rotate right'), view='documents:document_page_rotate_right',
|
|
||||||
)
|
|
||||||
link_document_page_view = Link(
|
|
||||||
conditional_disable=is_document_page_disabled,
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_page_view',
|
|
||||||
permissions=(permission_document_view,), text=_('Page image'),
|
|
||||||
view='documents:document_page_view', args='resolved_object.pk'
|
|
||||||
)
|
|
||||||
link_document_page_view_reset = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_page_view_reset',
|
|
||||||
permissions=(permission_document_view,), text=_('Reset view'),
|
|
||||||
view='documents:document_page_view_reset', args='resolved_object.pk'
|
|
||||||
)
|
|
||||||
link_document_page_zoom_in = Link(
|
|
||||||
args='resolved_object.pk', conditional_disable=is_max_zoom,
|
|
||||||
icon_class=icon_document_page_zoom_in, keep_query=True,
|
|
||||||
permissions=(permission_document_view,), text=_('Zoom in'),
|
|
||||||
view='documents:document_page_zoom_in',
|
|
||||||
)
|
|
||||||
link_document_page_zoom_out = Link(
|
|
||||||
args='resolved_object.pk', conditional_disable=is_min_zoom,
|
|
||||||
icon_class=icon_document_page_zoom_out, keep_query=True,
|
|
||||||
permissions=(permission_document_view,), text=_('Zoom out'),
|
|
||||||
view='documents:document_page_zoom_out',
|
|
||||||
)
|
|
||||||
|
|
||||||
# Document versions
|
|
||||||
link_document_version_revert = Link(
|
|
||||||
args='object.pk', condition=is_not_current_version,
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_version_revert',
|
|
||||||
permissions=(permission_document_version_revert,), tags='dangerous',
|
|
||||||
text=_('Revert'), view='documents:document_version_revert',
|
|
||||||
)
|
|
||||||
|
|
||||||
# Document type related links
|
|
||||||
link_document_type_create = Link(
|
|
||||||
icon_class=icon_document_type_create,
|
|
||||||
permissions=(permission_document_type_create,),
|
|
||||||
text=_('Create document type'), view='documents:document_type_create'
|
|
||||||
)
|
|
||||||
link_document_type_delete = Link(
|
|
||||||
args='resolved_object.id', icon_class=icon_document_type_delete,
|
|
||||||
permissions=(permission_document_type_delete,), tags='dangerous',
|
|
||||||
text=_('Delete'), view='documents:document_type_delete',
|
|
||||||
)
|
|
||||||
link_document_type_policies = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_type_policies',
|
|
||||||
permissions=(permission_document_type_edit,),
|
|
||||||
text=_('Deletion policies'), view='documents:document_type_policies',
|
|
||||||
)
|
|
||||||
link_document_type_edit = Link(
|
|
||||||
args='resolved_object.id', icon_class=icon_document_type_edit,
|
|
||||||
permissions=(permission_document_type_edit,), text=_('Edit'),
|
|
||||||
view='documents:document_type_edit',
|
|
||||||
)
|
|
||||||
link_document_type_filename_create = Link(
|
|
||||||
args='document_type.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_type_filename_create',
|
|
||||||
permissions=(permission_document_type_edit,),
|
|
||||||
text=_('Add quick label to document type'),
|
|
||||||
view='documents:document_type_filename_create',
|
|
||||||
)
|
|
||||||
link_document_type_filename_delete = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_type_filename_delete',
|
|
||||||
permissions=(permission_document_type_edit,),
|
|
||||||
tags='dangerous', text=_('Delete'),
|
|
||||||
view='documents:document_type_filename_delete',
|
|
||||||
)
|
|
||||||
link_document_type_filename_edit = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_type_filename_edit',
|
|
||||||
permissions=(permission_document_type_edit,),
|
|
||||||
text=_('Edit'), view='documents:document_type_filename_edit',
|
|
||||||
)
|
|
||||||
link_document_type_filename_list = Link(
|
|
||||||
args='resolved_object.id',
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_type_filename_list',
|
|
||||||
permissions=(permission_document_type_view,),
|
|
||||||
text=_('Quick labels'), view='documents:document_type_filename_list',
|
|
||||||
)
|
|
||||||
link_document_type_list = Link(
|
|
||||||
icon_class_path='mayan.apps.documents.icons.icon_document_type_list',
|
|
||||||
permissions=(permission_document_type_view,), text=_('Document types'),
|
|
||||||
view='documents:document_type_list'
|
|
||||||
)
|
|
||||||
link_document_type_setup = Link(
|
|
||||||
icon_class=icon_document_type_setup,
|
|
||||||
permissions=(permission_document_type_view,), text=_('Document types'),
|
|
||||||
view='documents:document_type_list'
|
|
||||||
)
|
|
||||||
link_duplicated_document_list = Link(
|
|
||||||
icon_class=icon_duplicated_document_list, text=_('Duplicated documents'),
|
|
||||||
view='documents:duplicated_document_list'
|
|
||||||
)
|
|
||||||
link_document_duplicates_list = Link(
|
|
||||||
args='resolved_object.id', icon_class=icon_duplicated_document_list,
|
|
||||||
permissions=(permission_document_view,), text=_('Duplicates'),
|
|
||||||
view='documents:document_duplicates_list',
|
|
||||||
)
|
|
||||||
link_duplicated_document_scan = Link(
|
|
||||||
icon_class=icon_duplicated_document_scan,
|
|
||||||
permissions=(permission_document_tools,),
|
|
||||||
text=_('Duplicated document scan'),
|
|
||||||
view='documents:duplicated_document_scan'
|
|
||||||
)
|
|
||||||
0
mayan/apps/documents/links/__init__.py
Normal file
0
mayan/apps/documents/links/__init__.py
Normal file
120
mayan/apps/documents/links/document_links.py
Normal file
120
mayan/apps/documents/links/document_links.py
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from mayan.apps.converter.permissions import (
|
||||||
|
permission_transformation_delete, permission_transformation_edit
|
||||||
|
)
|
||||||
|
from mayan.apps.navigation.classes import Link
|
||||||
|
|
||||||
|
from ..icons import (
|
||||||
|
icon_document_list_recent_access, icon_recent_added_document_list,
|
||||||
|
icon_duplicated_document_list, icon_duplicated_document_scan
|
||||||
|
)
|
||||||
|
from ..permissions import (
|
||||||
|
permission_document_download, permission_document_properties_edit,
|
||||||
|
permission_document_print, permission_document_tools,
|
||||||
|
permission_document_view
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
link_document_clear_transformations = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_transformations_clear',
|
||||||
|
permissions=(permission_transformation_delete,),
|
||||||
|
text=_('Clear transformations'),
|
||||||
|
view='documents:document_clear_transformations',
|
||||||
|
)
|
||||||
|
link_document_clone_transformations = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_transformations_clone',
|
||||||
|
permissions=(permission_transformation_edit,),
|
||||||
|
text=_('Clone transformations'),
|
||||||
|
view='documents:document_clone_transformations',
|
||||||
|
)
|
||||||
|
link_document_document_type_edit = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_type_change',
|
||||||
|
permissions=(permission_document_properties_edit,), text=_('Change type'),
|
||||||
|
view='documents:document_document_type_edit',
|
||||||
|
)
|
||||||
|
link_document_download = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_download',
|
||||||
|
permissions=(permission_document_download,), text=_('Advanced download'),
|
||||||
|
view='documents:document_download_form',
|
||||||
|
)
|
||||||
|
link_document_duplicates_list = Link(
|
||||||
|
args='resolved_object.id', icon_class=icon_duplicated_document_list,
|
||||||
|
permissions=(permission_document_view,), text=_('Duplicates'),
|
||||||
|
view='documents:document_duplicates_list',
|
||||||
|
)
|
||||||
|
link_document_edit = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_edit',
|
||||||
|
permissions=(permission_document_properties_edit,),
|
||||||
|
text=_('Edit properties'), view='documents:document_edit',
|
||||||
|
)
|
||||||
|
link_document_list = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_list',
|
||||||
|
text=_('All documents'),
|
||||||
|
view='documents:document_list'
|
||||||
|
)
|
||||||
|
link_document_list_recent_access = Link(
|
||||||
|
icon_class=icon_document_list_recent_access, text=_('Recently accessed'),
|
||||||
|
view='documents:document_list_recent_access'
|
||||||
|
)
|
||||||
|
link_document_list_recent_added = Link(
|
||||||
|
icon_class=icon_recent_added_document_list, text=_('Recently added'),
|
||||||
|
view='documents:document_list_recent_added'
|
||||||
|
)
|
||||||
|
link_document_multiple_clear_transformations = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_transformations_clear',
|
||||||
|
permissions=(permission_transformation_delete,),
|
||||||
|
text=_('Clear transformations'),
|
||||||
|
view='documents:document_multiple_clear_transformations'
|
||||||
|
)
|
||||||
|
link_document_multiple_document_type_edit = Link(
|
||||||
|
text=_('Change type'),
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_type_change',
|
||||||
|
view='documents:document_multiple_document_type_edit'
|
||||||
|
)
|
||||||
|
link_document_multiple_download = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_download',
|
||||||
|
text=_('Advanced download'),
|
||||||
|
view='documents:document_multiple_download_form'
|
||||||
|
)
|
||||||
|
link_document_preview = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_preview',
|
||||||
|
permissions=(permission_document_view,),
|
||||||
|
text=_('Preview'), view='documents:document_preview',
|
||||||
|
)
|
||||||
|
link_document_properties = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_properties',
|
||||||
|
permissions=(permission_document_view,),
|
||||||
|
text=_('Properties'), view='documents:document_properties',
|
||||||
|
)
|
||||||
|
link_document_print = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_print',
|
||||||
|
permissions=(permission_document_print,),
|
||||||
|
text=_('Print'), view='documents:document_print',
|
||||||
|
)
|
||||||
|
link_document_quick_download = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_quick_download',
|
||||||
|
permissions=(permission_document_download,), text=_('Quick download'),
|
||||||
|
view='documents:document_download',
|
||||||
|
)
|
||||||
|
link_duplicated_document_list = Link(
|
||||||
|
icon_class=icon_duplicated_document_list, text=_('Duplicated documents'),
|
||||||
|
view='documents:duplicated_document_list'
|
||||||
|
)
|
||||||
|
link_duplicated_document_scan = Link(
|
||||||
|
icon_class=icon_duplicated_document_scan,
|
||||||
|
permissions=(permission_document_tools,),
|
||||||
|
text=_('Duplicated document scan'),
|
||||||
|
view='documents:duplicated_document_scan'
|
||||||
|
)
|
||||||
73
mayan/apps/documents/links/document_type_links.py
Normal file
73
mayan/apps/documents/links/document_type_links.py
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from mayan.apps.navigation.classes import Link
|
||||||
|
|
||||||
|
from ..icons import (
|
||||||
|
icon_document_type_create, icon_document_type_delete,
|
||||||
|
icon_document_type_edit, icon_document_type_setup,
|
||||||
|
)
|
||||||
|
from ..permissions import (
|
||||||
|
permission_document_type_create, permission_document_type_delete,
|
||||||
|
permission_document_type_edit, permission_document_type_view,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
link_document_type_create = Link(
|
||||||
|
icon_class=icon_document_type_create,
|
||||||
|
permissions=(permission_document_type_create,),
|
||||||
|
text=_('Create document type'), view='documents:document_type_create'
|
||||||
|
)
|
||||||
|
link_document_type_delete = Link(
|
||||||
|
args='resolved_object.id', icon_class=icon_document_type_delete,
|
||||||
|
permissions=(permission_document_type_delete,), tags='dangerous',
|
||||||
|
text=_('Delete'), view='documents:document_type_delete',
|
||||||
|
)
|
||||||
|
link_document_type_policies = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_type_policies',
|
||||||
|
permissions=(permission_document_type_edit,),
|
||||||
|
text=_('Deletion policies'), view='documents:document_type_policies',
|
||||||
|
)
|
||||||
|
link_document_type_edit = Link(
|
||||||
|
args='resolved_object.id', icon_class=icon_document_type_edit,
|
||||||
|
permissions=(permission_document_type_edit,), text=_('Edit'),
|
||||||
|
view='documents:document_type_edit',
|
||||||
|
)
|
||||||
|
link_document_type_filename_create = Link(
|
||||||
|
args='document_type.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_type_filename_create',
|
||||||
|
permissions=(permission_document_type_edit,),
|
||||||
|
text=_('Add quick label to document type'),
|
||||||
|
view='documents:document_type_filename_create',
|
||||||
|
)
|
||||||
|
link_document_type_filename_delete = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_type_filename_delete',
|
||||||
|
permissions=(permission_document_type_edit,),
|
||||||
|
tags='dangerous', text=_('Delete'),
|
||||||
|
view='documents:document_type_filename_delete',
|
||||||
|
)
|
||||||
|
link_document_type_filename_edit = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_type_filename_edit',
|
||||||
|
permissions=(permission_document_type_edit,),
|
||||||
|
text=_('Edit'), view='documents:document_type_filename_edit',
|
||||||
|
)
|
||||||
|
link_document_type_filename_list = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_type_filename_list',
|
||||||
|
permissions=(permission_document_type_view,),
|
||||||
|
text=_('Quick labels'), view='documents:document_type_filename_list',
|
||||||
|
)
|
||||||
|
link_document_type_list = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_type_list',
|
||||||
|
permissions=(permission_document_type_view,), text=_('Document types'),
|
||||||
|
view='documents:document_type_list'
|
||||||
|
)
|
||||||
|
link_document_type_setup = Link(
|
||||||
|
icon_class=icon_document_type_setup,
|
||||||
|
permissions=(permission_document_type_view,), text=_('Document types'),
|
||||||
|
view='documents:document_type_list'
|
||||||
|
)
|
||||||
59
mayan/apps/documents/links/document_version_links.py
Normal file
59
mayan/apps/documents/links/document_version_links.py
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from mayan.apps.navigation.classes import Link
|
||||||
|
|
||||||
|
from ..permissions import (
|
||||||
|
permission_document_download, permission_document_version_revert,
|
||||||
|
permission_document_version_view, permission_document_view,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def is_not_current_version(context):
|
||||||
|
# Use the 'object' key when the document version is an object in a list,
|
||||||
|
# such as when showing the version list view and use the 'resolved_object'
|
||||||
|
# when the document version is the context object, such as when showing the
|
||||||
|
# signatures list of a documern version. This can be fixed by updating
|
||||||
|
# the navigations app object resolution logic to use 'resolved_object' even
|
||||||
|
# for objects in a list.
|
||||||
|
document_version = context.get('object', context['resolved_object'])
|
||||||
|
return document_version.document.latest_version.timestamp != document_version.timestamp
|
||||||
|
|
||||||
|
|
||||||
|
link_document_version_list = Link(
|
||||||
|
args='resolved_object.pk',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_version_list',
|
||||||
|
permissions=(permission_document_version_view,),
|
||||||
|
text=_('Versions'), view='documents:document_version_list',
|
||||||
|
)
|
||||||
|
link_document_version_download = Link(
|
||||||
|
args='resolved_object.pk',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_version_download',
|
||||||
|
permissions=(permission_document_download,), text=_('Download version'),
|
||||||
|
view='documents:document_version_download_form'
|
||||||
|
)
|
||||||
|
link_document_version_return_document = Link(
|
||||||
|
args='resolved_object.document.pk',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_version_return_document',
|
||||||
|
permissions=(permission_document_view,), text=_('Document'),
|
||||||
|
view='documents:document_preview',
|
||||||
|
)
|
||||||
|
link_document_version_return_list = Link(
|
||||||
|
args='resolved_object.document.pk',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_version_return_list',
|
||||||
|
permissions=(permission_document_version_view,), text=_('Versions'),
|
||||||
|
view='documents:document_version_list',
|
||||||
|
)
|
||||||
|
link_document_version_view = Link(
|
||||||
|
args='resolved_object.pk',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_version_view',
|
||||||
|
permissions=(permission_document_version_view,),
|
||||||
|
text=_('Details'), view='documents:document_version_view'
|
||||||
|
)
|
||||||
|
link_document_version_revert = Link(
|
||||||
|
args='object.pk', condition=is_not_current_version,
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_version_revert',
|
||||||
|
permissions=(permission_document_version_revert,), tags='dangerous',
|
||||||
|
text=_('Revert'), view='documents:document_version_revert',
|
||||||
|
)
|
||||||
151
mayan/apps/documents/links/document_version_page_links.py
Normal file
151
mayan/apps/documents/links/document_version_page_links.py
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from mayan.apps.navigation.classes import Link
|
||||||
|
|
||||||
|
from ..icons import (
|
||||||
|
icon_document_page_navigation_first,
|
||||||
|
icon_document_page_navigation_last, icon_document_page_navigation_next,
|
||||||
|
icon_document_page_navigation_previous, icon_document_page_return,
|
||||||
|
icon_document_page_rotate_left, icon_document_page_rotate_right,
|
||||||
|
icon_document_page_zoom_in, icon_document_page_zoom_out,
|
||||||
|
)
|
||||||
|
from ..permissions import (
|
||||||
|
permission_document_edit, permission_document_tools,
|
||||||
|
permission_document_view
|
||||||
|
)
|
||||||
|
from ..settings import setting_zoom_max_level, setting_zoom_min_level
|
||||||
|
|
||||||
|
|
||||||
|
def is_first_page(context):
|
||||||
|
return context['resolved_object'].siblings.first() == context['resolved_object']
|
||||||
|
|
||||||
|
|
||||||
|
def is_last_page(context):
|
||||||
|
return context['resolved_object'].siblings.last() == context['resolved_object']
|
||||||
|
|
||||||
|
|
||||||
|
def is_max_zoom(context):
|
||||||
|
return context['zoom'] >= setting_zoom_max_level.value
|
||||||
|
|
||||||
|
|
||||||
|
def is_min_zoom(context):
|
||||||
|
return context['zoom'] <= setting_zoom_min_level.value
|
||||||
|
|
||||||
|
|
||||||
|
def is_document_page_enabled(context):
|
||||||
|
return context['resolved_object'].enabled
|
||||||
|
|
||||||
|
|
||||||
|
def is_document_page_disabled(context):
|
||||||
|
return not context['resolved_object'].enabled
|
||||||
|
|
||||||
|
|
||||||
|
link_document_page_disable = Link(
|
||||||
|
condition=is_document_page_enabled,
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_page_disable',
|
||||||
|
kwargs={'pk': 'resolved_object.id'},
|
||||||
|
permissions=(permission_document_edit,), text=_('Disable page'),
|
||||||
|
view='documents:document_page_disable'
|
||||||
|
)
|
||||||
|
link_document_page_multiple_disable = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_page_disable',
|
||||||
|
text=_('Disable pages'),
|
||||||
|
view='documents:document_page_multiple_disable'
|
||||||
|
)
|
||||||
|
link_document_page_enable = Link(
|
||||||
|
condition=is_document_page_disabled,
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_page_enable',
|
||||||
|
kwargs={'pk': 'resolved_object.id'},
|
||||||
|
permissions=(permission_document_edit,), text=_('Enable page'),
|
||||||
|
view='documents:document_page_enable'
|
||||||
|
)
|
||||||
|
link_document_page_multiple_enable = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_page_enable',
|
||||||
|
text=_('Enable pages'),
|
||||||
|
view='documents:document_page_multiple_enable'
|
||||||
|
)
|
||||||
|
link_document_page_navigation_first = Link(
|
||||||
|
args='resolved_object.pk', conditional_disable=is_first_page,
|
||||||
|
icon_class=icon_document_page_navigation_first,
|
||||||
|
keep_query=True, permissions=(permission_document_view,),
|
||||||
|
text=_('First page'), view='documents:document_page_navigation_first',
|
||||||
|
)
|
||||||
|
link_document_page_navigation_last = Link(
|
||||||
|
args='resolved_object.pk', conditional_disable=is_last_page,
|
||||||
|
icon_class=icon_document_page_navigation_last,
|
||||||
|
keep_query=True, text=_('Last page'),
|
||||||
|
permissions=(permission_document_view,),
|
||||||
|
view='documents:document_page_navigation_last',
|
||||||
|
)
|
||||||
|
link_document_page_navigation_previous = Link(
|
||||||
|
args='resolved_object.pk', conditional_disable=is_first_page,
|
||||||
|
icon_class=icon_document_page_navigation_previous,
|
||||||
|
keep_query=True, permissions=(permission_document_view,),
|
||||||
|
text=_('Previous page'),
|
||||||
|
view='documents:document_page_navigation_previous',
|
||||||
|
)
|
||||||
|
link_document_page_navigation_next = Link(
|
||||||
|
args='resolved_object.pk', conditional_disable=is_last_page,
|
||||||
|
icon_class=icon_document_page_navigation_next,
|
||||||
|
keep_query=True, text=_('Next page'),
|
||||||
|
permissions=(permission_document_view,),
|
||||||
|
view='documents:document_page_navigation_next',
|
||||||
|
)
|
||||||
|
link_document_page_return = Link(
|
||||||
|
args='resolved_object.document.pk', icon_class=icon_document_page_return,
|
||||||
|
permissions=(permission_document_view,), text=_('Document'),
|
||||||
|
view='documents:document_preview',
|
||||||
|
)
|
||||||
|
link_document_page_rotate_left = Link(
|
||||||
|
args='resolved_object.pk', icon_class=icon_document_page_rotate_left,
|
||||||
|
keep_query=True, permissions=(permission_document_view,),
|
||||||
|
text=_('Rotate left'), view='documents:document_page_rotate_left',
|
||||||
|
)
|
||||||
|
link_document_page_rotate_right = Link(
|
||||||
|
args='resolved_object.pk', icon_class=icon_document_page_rotate_right,
|
||||||
|
keep_query=True, permissions=(permission_document_view,),
|
||||||
|
text=_('Rotate right'), view='documents:document_page_rotate_right',
|
||||||
|
)
|
||||||
|
link_document_page_view = Link(
|
||||||
|
conditional_disable=is_document_page_disabled,
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_page_view',
|
||||||
|
permissions=(permission_document_view,), text=_('Page image'),
|
||||||
|
view='documents:document_page_view', args='resolved_object.pk'
|
||||||
|
)
|
||||||
|
link_document_page_view_reset = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_page_view_reset',
|
||||||
|
permissions=(permission_document_view,), text=_('Reset view'),
|
||||||
|
view='documents:document_page_view_reset', args='resolved_object.pk'
|
||||||
|
)
|
||||||
|
link_document_page_zoom_in = Link(
|
||||||
|
args='resolved_object.pk', conditional_disable=is_max_zoom,
|
||||||
|
icon_class=icon_document_page_zoom_in, keep_query=True,
|
||||||
|
permissions=(permission_document_view,), text=_('Zoom in'),
|
||||||
|
view='documents:document_page_zoom_in',
|
||||||
|
)
|
||||||
|
link_document_page_zoom_out = Link(
|
||||||
|
args='resolved_object.pk', conditional_disable=is_min_zoom,
|
||||||
|
icon_class=icon_document_page_zoom_out, keep_query=True,
|
||||||
|
permissions=(permission_document_view,), text=_('Zoom out'),
|
||||||
|
view='documents:document_page_zoom_out',
|
||||||
|
)
|
||||||
|
link_document_pages = Link(
|
||||||
|
args='resolved_object.pk',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_pages',
|
||||||
|
permissions=(permission_document_view,), text=_('Pages'),
|
||||||
|
view='documents:document_pages',
|
||||||
|
)
|
||||||
|
link_document_multiple_update_page_count = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_page_count_update',
|
||||||
|
text=_('Recalculate page count'),
|
||||||
|
view='documents:document_multiple_update_page_count'
|
||||||
|
)
|
||||||
|
link_document_update_page_count = Link(
|
||||||
|
args='resolved_object.pk',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_page_count_update',
|
||||||
|
permissions=(permission_document_tools,),
|
||||||
|
text=_('Recalculate page count'),
|
||||||
|
view='documents:document_update_page_count'
|
||||||
|
)
|
||||||
36
mayan/apps/documents/links/favorite_links.py
Normal file
36
mayan/apps/documents/links/favorite_links.py
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from mayan.apps.navigation.classes import Link
|
||||||
|
|
||||||
|
from ..permissions import permission_document_view
|
||||||
|
|
||||||
|
|
||||||
|
link_document_list_favorites = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_favorite_document_list',
|
||||||
|
text=_('Favorites'),
|
||||||
|
view='documents:document_list_favorites'
|
||||||
|
)
|
||||||
|
link_document_favorites_add = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_favorite_document_add',
|
||||||
|
permissions=(permission_document_view,), text=_('Add to favorites'),
|
||||||
|
view='documents:document_add_to_favorites',
|
||||||
|
)
|
||||||
|
link_document_favorites_remove = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_favorite_document_remove',
|
||||||
|
permissions=(permission_document_view,), text=_('Remove from favorites'),
|
||||||
|
view='documents:document_remove_from_favorites',
|
||||||
|
)
|
||||||
|
link_document_multiple_favorites_add = Link(
|
||||||
|
text=_('Add to favorites'),
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_favorite_document_add',
|
||||||
|
view='documents:document_multiple_add_to_favorites',
|
||||||
|
)
|
||||||
|
link_document_multiple_favorites_remove = Link(
|
||||||
|
text=_('Remove from favorites'),
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_favorite_document_remove',
|
||||||
|
view='documents:document_multiple_remove_from_favorites',
|
||||||
|
)
|
||||||
53
mayan/apps/documents/links/trashed_document_links.py
Normal file
53
mayan/apps/documents/links/trashed_document_links.py
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from mayan.apps.navigation.classes import Link
|
||||||
|
|
||||||
|
from ..permissions import (
|
||||||
|
permission_document_delete, permission_document_restore,
|
||||||
|
permission_document_trash, permission_empty_trash
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
link_document_delete = Link(
|
||||||
|
args='resolved_object.id',
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_trashed_document_delete',
|
||||||
|
permissions=(permission_document_delete,),
|
||||||
|
tags='dangerous', text=_('Delete'), view='documents:document_delete',
|
||||||
|
|
||||||
|
)
|
||||||
|
link_document_trash = Link(
|
||||||
|
args='resolved_object.id', permissions=(permission_document_trash,),
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_trash_send',
|
||||||
|
tags='dangerous', text=_('Move to trash'),
|
||||||
|
view='documents:document_trash',
|
||||||
|
)
|
||||||
|
link_document_list_deleted = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_trashed_document_list',
|
||||||
|
text=_('Trash can'), view='documents:document_list_deleted'
|
||||||
|
)
|
||||||
|
link_document_restore = Link(
|
||||||
|
permissions=(permission_document_restore,),
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_trashed_document_restore',
|
||||||
|
text=_('Restore'),
|
||||||
|
view='documents:document_restore', args='object.pk'
|
||||||
|
)
|
||||||
|
link_document_multiple_trash = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_document_trash_send',
|
||||||
|
tags='dangerous', text=_('Move to trash'),
|
||||||
|
view='documents:document_multiple_trash'
|
||||||
|
)
|
||||||
|
link_document_multiple_delete = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_trashed_document_delete',
|
||||||
|
tags='dangerous', text=_('Delete'),
|
||||||
|
view='documents:document_multiple_delete'
|
||||||
|
)
|
||||||
|
link_document_multiple_restore = Link(
|
||||||
|
icon_class_path='mayan.apps.documents.icons.icon_trashed_document_restore',
|
||||||
|
text=_('Restore'), view='documents:document_multiple_restore'
|
||||||
|
)
|
||||||
|
link_trash_can_empty = Link(
|
||||||
|
permissions=(permission_empty_trash,), text=_('Empty trash'),
|
||||||
|
view='documents:trash_can_empty'
|
||||||
|
)
|
||||||
@@ -4,10 +4,10 @@ import time
|
|||||||
|
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
from ..links import (
|
from ..links.document_version_links import (
|
||||||
link_document_restore, link_document_version_download,
|
link_document_version_download, link_document_version_revert
|
||||||
link_document_version_revert
|
|
||||||
)
|
)
|
||||||
|
from ..links.trashed_document_links import link_document_restore
|
||||||
from ..models import DeletedDocument
|
from ..models import DeletedDocument
|
||||||
from ..permissions import (
|
from ..permissions import (
|
||||||
permission_document_download, permission_document_restore,
|
permission_document_download, permission_document_restore,
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ from mayan.apps.converter.literals import DEFAULT_ROTATION, DEFAULT_ZOOM_LEVEL
|
|||||||
|
|
||||||
from ..forms import DocumentPageForm
|
from ..forms import DocumentPageForm
|
||||||
from ..icons import icon_document_pages
|
from ..icons import icon_document_pages
|
||||||
from ..links import link_document_update_page_count
|
from ..links.document_version_page_links import link_document_update_page_count
|
||||||
from ..models import Document, DocumentPage
|
from ..models import Document, DocumentPage
|
||||||
from ..permissions import permission_document_edit, permission_document_view
|
from ..permissions import permission_document_edit, permission_document_view
|
||||||
from ..settings import (
|
from ..settings import (
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ from ..forms import DocumentTypeFilenameForm_create
|
|||||||
from ..icons import (
|
from ..icons import (
|
||||||
icon_document_type_filename, icon_document_type_setup
|
icon_document_type_filename, icon_document_type_setup
|
||||||
)
|
)
|
||||||
from ..links import (
|
from ..links.document_type_links import (
|
||||||
link_document_type_create, link_document_type_filename_create
|
link_document_type_create, link_document_type_filename_create
|
||||||
)
|
)
|
||||||
from ..models import DocumentType, DocumentTypeFilename
|
from ..models import DocumentType, DocumentTypeFilename
|
||||||
|
|||||||
Reference in New Issue
Block a user