Files
mayan-edms/mayan/apps/documents/urls.py
Roberto Rosario 0699ad0556 Add support for new document page structure
Documents now have their own dedicated DocumentPage
submodel. The old DocumentPage is now called DocumentVersionPage.
This allows mappings between document pages and document version
pages, allowing renumbering, appending pages.
DocumentPages have a content_object to map them to any other
object. For now they only map to DocumentVersionPages.
New option added to the version upload form to append the
pages of the new version.
A new view was added to just append new pages with wraps the
new document version upload form and hides the append pages
checkbox set to True.
Add a new action, reset_pages to reset the pages of the
document to those of the latest version.

Missing: appending tests, checks for proper content_object in OCR and
document parsing.

Author: Roberto Rosario <roberto.rosario@mayan-edms.com>
Date:   Thu Oct 11 12:00:25 2019 -0400
2019-10-10 11:55:42 -04:00

465 lines
16 KiB
Python

from __future__ import unicode_literals
from django.conf.urls import url
from .api_views import (
APITrashedDocumentListView, APIDeletedDocumentRestoreView,
APIDeletedDocumentView, APIDocumentDownloadView, APIDocumentPageListView,
APIDocumentView, APIDocumentListView, APIDocumentVersionDownloadView,
APIDocumentPageImageView, APIDocumentPageView,
APIDocumentTypeDocumentListView, APIDocumentTypeListView,
APIDocumentTypeView, APIDocumentVersionsListView,
APIDocumentVersionPageListView, APIDocumentVersionView,
APIRecentDocumentListView,
APIDocumentVersionPageView,
APIDocumentVersionPageImageView
)
from .views.document_views import (
DocumentDocumentTypeEditView, DocumentDownloadFormView,
DocumentDownloadView, DocumentDuplicatesListView, DocumentEditView,
DocumentListView, DocumentPreviewView, DocumentPrint,
DocumentPagesResetView, DocumentTransformationsClearView,
DocumentTransformationsCloneView, DocumentView,
DuplicatedDocumentListView, RecentAccessDocumentListView,
RecentAddedDocumentListView
)
from .views.document_page_views import (
DocumentPageDisable, DocumentPageEnable, DocumentPageListView,
DocumentPageNavigationFirst, DocumentPageNavigationLast,
DocumentPageNavigationNext, DocumentPageNavigationPrevious,
DocumentPageRotateLeftView, DocumentPageRotateRightView,
DocumentPageView, DocumentPageViewResetView, DocumentPageZoomInView,
DocumentPageZoomOutView
)
from .views.document_version_views import (
DocumentVersionDownloadFormView, DocumentVersionDownloadView,
DocumentVersionListView, DocumentVersionRevertView,
DocumentVersionUpdatePageCountView, DocumentVersionView,
)
from .views.document_type_views import (
DocumentTypeCreateView, DocumentTypeDeleteView,
DocumentTypeDeletionPoliciesEditView, DocumentTypeDocumentListView,
DocumentTypeEditView, DocumentTypeFilenameCreateView,
DocumentTypeFilenameDeleteView, DocumentTypeFilenameEditView,
DocumentTypeFilenameListView, DocumentTypeListView
)
from .views.favorite_document_views import (
FavoriteAddView, FavoriteDocumentListView, FavoriteRemoveView
)
from .views.misc_views import ScanDuplicatedDocuments
from .views.trashed_document_views import (
DocumentTrashView, EmptyTrashCanView, TrashedDocumentDeleteView,
TrashedDocumentListView, TrashedDocumentRestoreView
)
urlpatterns_document_types = [
url(
regex=r'^document_types/$', view=DocumentTypeListView.as_view(),
name='document_type_list'
),
url(
regex=r'^document_types/create/$', view=DocumentTypeCreateView.as_view(),
name='document_type_create'
),
url(
regex=r'^document_types/(?P<pk>\d+)/delete/$',
view=DocumentTypeDeleteView.as_view(), name='document_type_delete'
),
url(
regex=r'^document_types/(?P<pk>\d+)/edit/$', view=DocumentTypeEditView.as_view(),
name='document_type_edit'
),
url(
regex=r'^document_types/(?P<pk>\d+)/documents/$',
view=DocumentTypeDocumentListView.as_view(),
name='document_type_document_list'
),
url(
regex=r'^document_types/(?P<pk>\d+)/filenames/$',
view=DocumentTypeFilenameListView.as_view(),
name='document_type_filename_list'
),
url(
regex=r'^document_types/filenames/(?P<pk>\d+)/delete/$',
view=DocumentTypeFilenameDeleteView.as_view(),
name='document_type_filename_delete'
),
url(
regex=r'^document_types/filenames/(?P<pk>\d+)/edit/$',
view=DocumentTypeFilenameEditView.as_view(),
name='document_type_filename_edit'
),
url(
regex=r'^document_types/(?P<pk>\d+)/filenames/create/$',
view=DocumentTypeFilenameCreateView.as_view(),
name='document_type_filename_create'
),
url(
regex=r'^document_types/(?P<pk>\d+)/deletion_policies/$',
view=DocumentTypeDeletionPoliciesEditView.as_view(),
name='document_type_policies'
),
]
urlpatterns_favorite_documents = [
url(
regex=r'^documents/favorites/$', view=FavoriteDocumentListView.as_view(),
name='document_list_favorites'
),
url(
regex=r'^documents/(?P<pk>\d+)/add_to_favorites/$',
view=FavoriteAddView.as_view(), name='document_add_to_favorites'
),
url(
regex=r'^documents/multiple/add_to_favorites/$', view=FavoriteAddView.as_view(),
name='document_multiple_add_to_favorites'
),
url(
regex=r'^documents/(?P<pk>\d+)/remove_from_favorites/$',
view=FavoriteRemoveView.as_view(),
name='document_remove_from_favorites'
),
url(
regex=r'^documents/multiple/remove_from_favorites/$',
view=FavoriteRemoveView.as_view(),
name='document_multiple_remove_from_favorites'
),
]
urlpatterns_documents = [
url(
regex=r'^documents/$', view=DocumentListView.as_view(), name='document_list'
),
url(
regex=r'^documents/recent_access/$',
view=RecentAccessDocumentListView.as_view(),
name='document_list_recent_access'
),
url(
regex=r'^documents/recent_added/$',
view=RecentAddedDocumentListView.as_view(),
name='document_list_recent_added'
),
url(
regex=r'^documents/duplicated/$',
view=DuplicatedDocumentListView.as_view(),
name='duplicated_document_list'
),
url(
regex=r'^documents/(?P<pk>\d+)/preview/$', view=DocumentPreviewView.as_view(),
name='document_preview'
),
url(
regex=r'^documents/(?P<pk>\d+)/properties/$', view=DocumentView.as_view(),
name='document_properties'
),
url(
regex=r'^documents/(?P<pk>\d+)/duplicates/$',
view=DocumentDuplicatesListView.as_view(),
name='document_duplicates_list'
),
url(
regex=r'^documents/(?P<pk>\d+)/type/$',
view=DocumentDocumentTypeEditView.as_view(),
name='document_document_type_edit'
),
url(
regex=r'^documents/multiple/type/$', view=DocumentDocumentTypeEditView.as_view(),
name='document_multiple_document_type_edit'
),
url(
regex=r'^documents/(?P<pk>\d+)/edit/$', view=DocumentEditView.as_view(),
name='document_edit'
),
url(
regex=r'^documents/(?P<pk>\d+)/print/$', view=DocumentPrint.as_view(),
name='document_print'
),
url(
regex=r'^documents/(?P<pk>\d+)/pages/reset/$',
view=DocumentPagesResetView.as_view(),
name='document_pages_reset'
),
url(
regex=r'^documents/multiple/pages/reset/$',
view=DocumentPagesResetView.as_view(),
name='document_multiple_pages_reset'
),
url(
regex=r'^documents/(?P<pk>\d+)/download/form/$',
view=DocumentDownloadFormView.as_view(), name='document_download_form'
),
url(
regex=r'^documents/(?P<pk>\d+)/download/$', view=DocumentDownloadView.as_view(),
name='document_download'
),
url(
regex=r'^documents/multiple/download/form/$',
view=DocumentDownloadFormView.as_view(),
name='document_multiple_download_form'
),
url(
regex=r'^documents/multiple/download/$', view=DocumentDownloadView.as_view(),
name='document_multiple_download'
),
url(
regex=r'^documents/(?P<pk>\d+)/transformations/clear/$',
view=DocumentTransformationsClearView.as_view(),
name='document_clear_transformations'
),
url(
regex=r'^documents/multiple/clear_transformations/$',
view=DocumentTransformationsClearView.as_view(),
name='document_multiple_clear_transformations'
),
url(
regex=r'^documents/(?P<pk>\d+)/transformations/clone/$',
view=DocumentTransformationsCloneView.as_view(),
name='document_clone_transformations'
),
]
urlpatterns_document_pages = [
url(
regex=r'^documents/(?P<pk>\d+)/pages/$', view=DocumentPageListView.as_view(),
name='document_pages'
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/$', view=DocumentPageView.as_view(),
name='document_page_view'
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/disable/$',
name='document_page_disable', view=DocumentPageDisable.as_view()
),
url(
regex=r'^documents/pages/multiple/disable/$', name='document_page_multiple_disable',
view=DocumentPageDisable.as_view()
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/enable/$',
name='document_page_enable', view=DocumentPageEnable.as_view()
),
url(
regex=r'^documents/pages/multiple/enable/$', name='document_page_multiple_enable',
view=DocumentPageEnable.as_view()
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/navigation/next/$',
view=DocumentPageNavigationNext.as_view(),
name='document_page_navigation_next'
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/navigation/previous/$',
view=DocumentPageNavigationPrevious.as_view(),
name='document_page_navigation_previous'
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/navigation/first/$',
view=DocumentPageNavigationFirst.as_view(),
name='document_page_navigation_first'
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/navigation/last/$',
view=DocumentPageNavigationLast.as_view(),
name='document_page_navigation_last'
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/zoom/in/$',
view=DocumentPageZoomInView.as_view(), name='document_page_zoom_in'
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/zoom/out/$',
view=DocumentPageZoomOutView.as_view(), name='document_page_zoom_out'
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/rotate/left/$',
view=DocumentPageRotateLeftView.as_view(),
name='document_page_rotate_left'
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/rotate/right/$',
view=DocumentPageRotateRightView.as_view(),
name='document_page_rotate_right'
),
url(
regex=r'^documents/pages/(?P<pk>\d+)/reset/$',
view=DocumentPageViewResetView.as_view(),
name='document_page_view_reset'
),
]
urlpatterns_document_versions = [
url(
regex=r'^documents/(?P<pk>\d+)/versions/$',
view=DocumentVersionListView.as_view(),
name='document_version_list'
),
url(
regex=r'^documents/versions/(?P<pk>\d+)/download/form/$',
view=DocumentVersionDownloadFormView.as_view(),
name='document_version_download_form'
),
url(
regex=r'^documents/versions/(?P<pk>\d+)/$',
view=DocumentVersionView.as_view(), name='document_version_view'
),
url(
regex=r'^documents/versions/(?P<pk>\d+)/download/$',
view=DocumentVersionDownloadView.as_view(),
name='document_version_download'
),
url(
regex=r'^documents/versions/(?P<pk>\d+)/pages/update/$',
view=DocumentVersionUpdatePageCountView.as_view(),
name='document_version_page_count_update'
),
url(
regex=r'^documents/versions/multiple/pages/update/$',
view=DocumentVersionUpdatePageCountView.as_view(),
name='document_version_multiple_page_count_update'
),
url(
regex=r'^documents/versions/(?P<pk>\d+)/revert/$',
view=DocumentVersionRevertView.as_view(),
name='document_version_revert'
),
]
urlpatterns_tools = [
url(
regex=r'^tools/documents/duplicated/scan/$',
view=ScanDuplicatedDocuments.as_view(),
name='duplicated_document_scan'
),
]
urlpatterns_trashed_documents = [
url(
regex=r'^documents/(?P<pk>\d+)/trash/$', view=DocumentTrashView.as_view(),
name='document_trash'
),
url(
regex=r'^documents/multiple/trash/$', view=DocumentTrashView.as_view(),
name='document_multiple_trash'
),
url(
regex=r'^trashed_documents/$', view=TrashedDocumentListView.as_view(),
name='document_list_deleted'
),
url(
regex=r'^trashed_documents/(?P<pk>\d+)/restore/$',
view=TrashedDocumentRestoreView.as_view(), name='document_restore'
),
url(
regex=r'^trashed_documents/multiple/restore/$', view=TrashedDocumentRestoreView.as_view(),
name='document_multiple_restore'
),
url(
regex=r'^trashed_documents/(?P<pk>\d+)/delete/$',
view=TrashedDocumentDeleteView.as_view(), name='document_delete'
),
url(
regex=r'^trashed_documents/multiple/delete/$',
view=TrashedDocumentDeleteView.as_view(),
name='document_multiple_delete'
),
url(
regex=r'^trash_can/empty/$', view=EmptyTrashCanView.as_view(),
name='trash_can_empty'
),
]
urlpatterns = []
urlpatterns.extend(urlpatterns_documents)
urlpatterns.extend(urlpatterns_document_pages)
urlpatterns.extend(urlpatterns_document_types)
urlpatterns.extend(urlpatterns_document_versions)
urlpatterns.extend(urlpatterns_favorite_documents)
urlpatterns.extend(urlpatterns_tools)
urlpatterns.extend(urlpatterns_trashed_documents)
api_urls = [
url(
regex=r'^document_types/(?P<pk>[0-9]+)/$',
view=APIDocumentTypeView.as_view(), name='documenttype-detail'
),
url(
regex=r'^document_types/$', view=APIDocumentTypeListView.as_view(),
name='documenttype-list'
),
url(
regex=r'^document_types/(?P<pk>[0-9]+)/documents/$',
view=APIDocumentTypeDocumentListView.as_view(),
name='documenttype-document-list'
),
url(
regex=r'^documents/$', view=APIDocumentListView.as_view(),
name='document-list'
),
url(
regex=r'^documents/(?P<pk>[0-9]+)/$', view=APIDocumentView.as_view(),
name='document-detail'
),
url(
regex=r'^documents/(?P<pk>[0-9]+)/download/$',
view=APIDocumentDownloadView.as_view(), name='document-download'
),
url(
regex=r'^documents/(?P<pk>[0-9]+)/versions/$',
view=APIDocumentVersionsListView.as_view(),
name='document-version-list'
),
url(
regex=r'^documents/(?P<pk>[0-9]+)/versions/(?P<version_pk>[0-9]+)/$',
view=APIDocumentVersionView.as_view(), name='documentversion-detail'
),
url(
regex=r'^documents/(?P<pk>[0-9]+)/versions/(?P<version_pk>[0-9]+)/pages/$',
view=APIDocumentVersionPageListView.as_view(),
name='documentversion-page-list'
),
url(
regex=r'^documents/(?P<pk>[0-9]+)/pages/$',
view=APIDocumentPageListView.as_view(),
name='document-page-list'
),
url(
regex=r'^documents/(?P<pk>[0-9]+)/versions/(?P<version_pk>[0-9]+)/download/$',
view=APIDocumentVersionDownloadView.as_view(),
name='documentversion-download'
),
url(
regex=r'^documents/recent/$', view=APIRecentDocumentListView.as_view(),
name='document-recent-list'
),
url(
regex=r'^documents/(?P<pk>[0-9]+)/versions/(?P<version_pk>[0-9]+)/pages/(?P<page_pk>[0-9]+)$',
view=APIDocumentVersionPageView.as_view(), name='documentversionpage-detail'
),
url(
regex=r'^documents/(?P<pk>[0-9]+)/pages/(?P<page_pk>[0-9]+)$',
view=APIDocumentPageView.as_view(), name='documentpage-detail'
),
url(
regex=r'^documents/(?P<pk>[0-9]+)/pages/(?P<page_pk>[0-9]+)/image/$',
view=APIDocumentPageImageView.as_view(), name='documentpage-image'
),
url(
regex=r'^documents/(?P<pk>[0-9]+)/versions/(?P<version_pk>[0-9]+)/pages/(?P<page_pk>[0-9]+)/image/$',
view=APIDocumentVersionPageImageView.as_view(), name='documentversionpage-image'
),
url(
regex=r'^trashed_documents/$',
view=APITrashedDocumentListView.as_view(), name='trasheddocument-list'
),
url(
regex=r'^trashed_documents/(?P<pk>[0-9]+)/$',
view=APIDeletedDocumentView.as_view(), name='trasheddocument-detail'
),
url(
regex=r'^trashed_documents/(?P<pk>[0-9]+)/restore/$',
view=APIDeletedDocumentRestoreView.as_view(), name='trasheddocument-restore'
),
]