Refactor checkouts app
Change "checkin" usage to "check_in".
Update URL parameters to the "_id" form.
Add support to checkout and check in multiple documents.
Optimize queries that used an ID list of documents for
filtering using values_list('pk', flat=True). These
queries now use .values('pk') as a subquery.
Add pre save hooks to block new document version uploads.
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
@@ -10,7 +10,7 @@ from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
from mayan.apps.acls import ModelPermission
|
||||
from mayan.apps.common import (
|
||||
MayanAppConfig, menu_facet, menu_main, menu_sidebar
|
||||
MayanAppConfig, menu_facet, menu_main, menu_multi_item, menu_sidebar
|
||||
)
|
||||
from mayan.apps.dashboards.dashboards import dashboard_main
|
||||
from mayan.apps.events import ModelEventType
|
||||
@@ -23,8 +23,9 @@ from .events import (
|
||||
)
|
||||
from .handlers import handler_check_new_version_creation
|
||||
from .links import (
|
||||
link_checkin_document, link_checkout_document, link_checkout_info,
|
||||
link_checkout_list
|
||||
link_document_check_in, link_document_checkout, link_document_checkout_info,
|
||||
link_document_checkout_list, link_document_multiple_check_in,
|
||||
link_document_multiple_checkout
|
||||
)
|
||||
from .literals import CHECK_EXPIRED_CHECK_OUTS_INTERVAL
|
||||
from .methods import (
|
||||
@@ -32,7 +33,7 @@ from .methods import (
|
||||
method_is_checked_out
|
||||
)
|
||||
from .permissions import (
|
||||
permission_document_checkin, permission_document_checkin_override,
|
||||
permission_document_check_in, permission_document_check_in_override,
|
||||
permission_document_checkout, permission_document_checkout_detail_view
|
||||
)
|
||||
from .queues import * # NOQA
|
||||
@@ -79,8 +80,8 @@ class CheckoutsApp(MayanAppConfig):
|
||||
ModelPermission.register(
|
||||
model=Document, permissions=(
|
||||
permission_document_checkout,
|
||||
permission_document_checkin,
|
||||
permission_document_checkin_override,
|
||||
permission_document_check_in,
|
||||
permission_document_check_in_override,
|
||||
permission_document_checkout_detail_view
|
||||
)
|
||||
)
|
||||
@@ -115,13 +116,18 @@ class CheckoutsApp(MayanAppConfig):
|
||||
widget=DashboardWidgetTotalCheckouts, order=-1
|
||||
)
|
||||
|
||||
menu_facet.bind_links(links=(link_checkout_info,), sources=(Document,))
|
||||
menu_main.bind_links(links=(link_checkout_list,), position=98)
|
||||
menu_facet.bind_links(links=(link_document_checkout_info,), sources=(Document,))
|
||||
menu_main.bind_links(links=(link_document_checkout_list,), position=98)
|
||||
menu_multi_item.bind_links(
|
||||
links=(
|
||||
link_document_multiple_check_in, link_document_multiple_checkout
|
||||
), sources=(Document,)
|
||||
)
|
||||
menu_sidebar.bind_links(
|
||||
links=(link_checkout_document, link_checkin_document),
|
||||
links=(link_document_checkout, link_document_check_in),
|
||||
sources=(
|
||||
'checkouts:checkout_info', 'checkouts:checkout_document',
|
||||
'checkouts:checkin_document'
|
||||
'checkouts:document_checkout_info', 'checkouts:document_checkout',
|
||||
'checkouts:document_check_in'
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user