Compare commits
1 Commits
clients/bc
...
feature/mu
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
82099c2f1b |
@@ -57,8 +57,8 @@ from .links import (
|
|||||||
link_document_edit, link_document_list, link_document_list_deleted,
|
link_document_edit, link_document_list, link_document_list_deleted,
|
||||||
link_document_list_recent, link_document_multiple_delete,
|
link_document_list_recent, link_document_multiple_delete,
|
||||||
link_document_multiple_trash, link_document_multiple_clear_transformations,
|
link_document_multiple_trash, link_document_multiple_clear_transformations,
|
||||||
link_document_multiple_download, link_document_multiple_restore,
|
link_document_multiple_download, link_document_multiple_print,
|
||||||
link_document_multiple_update_page_count,
|
link_document_multiple_restore, link_document_multiple_update_page_count,
|
||||||
link_document_page_navigation_first, link_document_page_navigation_last,
|
link_document_page_navigation_first, link_document_page_navigation_last,
|
||||||
link_document_page_navigation_next, link_document_page_navigation_previous,
|
link_document_page_navigation_next, link_document_page_navigation_previous,
|
||||||
link_document_page_return, link_document_page_rotate_left,
|
link_document_page_return, link_document_page_rotate_left,
|
||||||
@@ -481,10 +481,11 @@ class DocumentsApp(MayanAppConfig):
|
|||||||
)
|
)
|
||||||
menu_multi_item.bind_links(
|
menu_multi_item.bind_links(
|
||||||
links=(
|
links=(
|
||||||
|
link_document_multiple_print,
|
||||||
link_document_multiple_clear_transformations,
|
link_document_multiple_clear_transformations,
|
||||||
link_document_multiple_trash, link_document_multiple_download,
|
link_document_multiple_trash, link_document_multiple_download,
|
||||||
link_document_multiple_update_page_count,
|
link_document_multiple_update_page_count,
|
||||||
link_document_multiple_document_type_edit
|
link_document_multiple_document_type_edit,
|
||||||
), sources=(Document,)
|
), sources=(Document,)
|
||||||
)
|
)
|
||||||
menu_multi_item.bind_links(
|
menu_multi_item.bind_links(
|
||||||
|
|||||||
@@ -110,6 +110,10 @@ link_document_print = Link(
|
|||||||
permissions=(permission_document_print,), text=_('Print'),
|
permissions=(permission_document_print,), text=_('Print'),
|
||||||
view='documents:document_print', args='resolved_object.id'
|
view='documents:document_print', args='resolved_object.id'
|
||||||
)
|
)
|
||||||
|
link_document_multiple_print = Link(
|
||||||
|
tags='new_window', text=_('Print'),
|
||||||
|
view='documents:document_multiple_print',
|
||||||
|
)
|
||||||
link_document_quick_download = Link(
|
link_document_quick_download = Link(
|
||||||
permissions=(permission_document_download,), text=_('Quick download'),
|
permissions=(permission_document_download,), text=_('Quick download'),
|
||||||
view='documents:document_download', args='resolved_object.id'
|
view='documents:document_download', args='resolved_object.id'
|
||||||
|
|||||||
@@ -3,9 +3,19 @@
|
|||||||
{% block title %}{{ title }}{% endblock title %}
|
{% block title %}{{ title }}{% endblock title %}
|
||||||
|
|
||||||
{% block content_plain %}
|
{% block content_plain %}
|
||||||
{% for page in pages %}
|
{% if pages %}
|
||||||
<img
|
{% for page in pages %}
|
||||||
src="{{ page.get_api_image_url }}?width={{ width }}&height={{ height }}" style="width: 100%;"
|
<img
|
||||||
/>
|
src="{{ page.get_api_image_url }}?width={{ width }}&height={{ height }}" style="width: 100%;"
|
||||||
{% endfor %}
|
/>
|
||||||
|
{% endfor %}
|
||||||
|
{% else %}
|
||||||
|
{% for document in documents %}
|
||||||
|
{% for page in document.pages.all %}
|
||||||
|
<img
|
||||||
|
src="{{ page.get_api_image_url }}?width={{ width }}&height={{ height }}" style="width: 100%;"
|
||||||
|
/>
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -99,6 +99,10 @@ urlpatterns = [
|
|||||||
r'^(?P<pk>\d+)/edit/$', DocumentEditView.as_view(),
|
r'^(?P<pk>\d+)/edit/$', DocumentEditView.as_view(),
|
||||||
name='document_edit'
|
name='document_edit'
|
||||||
),
|
),
|
||||||
|
url(
|
||||||
|
r'^multiple/print/$', DocumentPrint.as_view(),
|
||||||
|
name='document_multiple_print'
|
||||||
|
),
|
||||||
url(
|
url(
|
||||||
r'^(?P<pk>\d+)/print/$', DocumentPrint.as_view(),
|
r'^(?P<pk>\d+)/print/$', DocumentPrint.as_view(),
|
||||||
name='document_print'
|
name='document_print'
|
||||||
|
|||||||
@@ -713,28 +713,40 @@ class DocumentTransformationsCloneView(FormView):
|
|||||||
|
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
|
from common.mixins import MultipleObjectMixin
|
||||||
|
|
||||||
class DocumentPrint(FormView):
|
class DocumentPrint(MultipleObjectMixin, FormView):
|
||||||
form_class = DocumentPrintForm
|
form_class = DocumentPrintForm
|
||||||
|
model = Document
|
||||||
|
|
||||||
def dispatch(self, request, *args, **kwargs):
|
def dispatch(self, request, *args, **kwargs):
|
||||||
instance = self.get_object()
|
self.queryset = AccessControlList.objects.filter_by_access(
|
||||||
AccessControlList.objects.check_access(
|
permission=permission_document_print, user=self.request.user,
|
||||||
permissions=permission_document_print, user=self.request.user,
|
queryset=self.get_queryset()
|
||||||
obj=instance
|
|
||||||
)
|
)
|
||||||
|
|
||||||
instance.add_as_recent_document_for_user(self.request.user)
|
for document in self.queryset.all():
|
||||||
|
document.add_as_recent_document_for_user(self.request.user)
|
||||||
|
|
||||||
self.page_group = self.request.GET.get('page_group')
|
self.page_group = self.request.GET.get('page_group')
|
||||||
self.page_range = self.request.GET.get('page_range')
|
self.page_range = self.request.GET.get('page_range')
|
||||||
return super(DocumentPrint, self).dispatch(request, *args, **kwargs)
|
return super(DocumentPrint, self).dispatch(request, *args, **kwargs)
|
||||||
|
|
||||||
def get(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
|
if self.queryset.count() > 1:
|
||||||
|
context = {
|
||||||
|
'appearance_type': 'plain',
|
||||||
|
'documents': self.queryset.all(),
|
||||||
|
'width': setting_print_width.value,
|
||||||
|
'height': setting_print_height.value,
|
||||||
|
}
|
||||||
|
|
||||||
|
return self.render_to_response(context=context)
|
||||||
|
|
||||||
if not self.page_group and not self.page_range:
|
if not self.page_group and not self.page_range:
|
||||||
return super(DocumentPrint, self).get(request, *args, **kwargs)
|
return super(DocumentPrint, self).get(request, *args, **kwargs)
|
||||||
else:
|
else:
|
||||||
instance = self.get_object()
|
instance = self.queryset.first()
|
||||||
|
|
||||||
if self.page_group == PAGE_RANGE_RANGE:
|
if self.page_group == PAGE_RANGE_RANGE:
|
||||||
if self.page_range:
|
if self.page_range:
|
||||||
@@ -759,7 +771,7 @@ class DocumentPrint(FormView):
|
|||||||
return self.render_to_response(context=context)
|
return self.render_to_response(context=context)
|
||||||
|
|
||||||
def get_extra_context(self):
|
def get_extra_context(self):
|
||||||
instance = self.get_object()
|
instance = self.queryset.first()
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
'form_action': reverse(
|
'form_action': reverse(
|
||||||
@@ -774,11 +786,8 @@ class DocumentPrint(FormView):
|
|||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def get_object(self):
|
|
||||||
return get_object_or_404(Document, pk=self.kwargs['pk'])
|
|
||||||
|
|
||||||
def get_template_names(self):
|
def get_template_names(self):
|
||||||
if self.page_group or self.page_range:
|
if self.page_group or self.page_range or self.queryset.count() > 1:
|
||||||
return ('documents/document_print.html',)
|
return ('documents/document_print.html',)
|
||||||
else:
|
else:
|
||||||
return (self.template_name,)
|
return (self.template_name,)
|
||||||
|
|||||||
Reference in New Issue
Block a user