diff --git a/apps/converter/api.py b/apps/converter/api.py index 0e4adb4abc..b475cb848e 100644 --- a/apps/converter/api.py +++ b/apps/converter/api.py @@ -102,17 +102,17 @@ def create_image_cache_filename(input_filepath, *args, **kwargs): return None -def in_image_cache(input_filepath, size, page=0, format=u'jpg', quality=QUALITY_DEFAULT, extra_options=u''): - output_filepath = create_image_cache_filename(input_filepath, size=size, page=page, format=format, quality=quality, extra_options=extra_options) +def in_image_cache(input_filepath, size, page=0, format=u'jpg', quality=QUALITY_DEFAULT, extra_options=u'', zoom=100): + output_filepath = create_image_cache_filename(input_filepath, size=size, page=page, format=format, quality=quality, extra_options=extra_options, zoom=zoom) if os.path.exists(output_filepath): return output_filepath else: return None -def convert(input_filepath, size, quality=QUALITY_DEFAULT, cache=True, page=0, format=u'jpg', extra_options=u'', mimetype=None, extension=None, cleanup_files=True): +def convert(input_filepath, size, quality=QUALITY_DEFAULT, cache=True, page=0, format=u'jpg', extra_options=u'', mimetype=None, extension=None, cleanup_files=True, zoom=100): unoconv_output = None - output_filepath = create_image_cache_filename(input_filepath, size=size, page=page, format=format, quality=quality, extra_options=extra_options) + output_filepath = create_image_cache_filename(input_filepath, size=size, page=page, format=format, quality=quality, extra_options=extra_options, zoom=zoom) if os.path.exists(output_filepath): return output_filepath ''' @@ -129,6 +129,8 @@ def convert(input_filepath, size, quality=QUALITY_DEFAULT, cache=True, page=0, f try: input_arg = u'%s[%s]' % (input_filepath, page) extra_options += u' -resize %s' % size + if zoom != 100: + extra_options += ' -resize %d%% ' % zoom backend.execute_convert(input_filepath=input_arg, arguments=extra_options, output_filepath=u'%s:%s' % (format, output_filepath), quality=quality) finally: if cleanup_files: diff --git a/apps/documents/__init__.py b/apps/documents/__init__.py index 7daab3d56b..db7a9d9574 100644 --- a/apps/documents/__init__.py +++ b/apps/documents/__init__.py @@ -65,21 +65,20 @@ document_page_transformation_page_transformation_list = {'text': _('page transfo document_page_view = {'text': _('page image'), 'view': 'document_page_view', 'args': 'object.id', 'famfam': 'page_white', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} document_page_text = {'text': _('page text'), 'view': 'document_page_text', 'args': 'object.id', 'famfam': 'page_white', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} -document_page_edit = {'text': _('edit page'), 'view': 'document_page_edit', 'args': 'object.id', 'famfam': 'page_white', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_EDIT]}} +document_page_edit = {'text': _('edit page text'), 'view': 'document_page_edit', 'args': 'object.id', 'famfam': 'page_white', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_EDIT]}} document_page_navigation_next = {'text': _('next page'), 'view': 'document_page_navigation_next', 'args': 'object.id', 'famfam': 'resultset_next', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} document_page_navigation_previous = {'text': _('previous page'), 'view': 'document_page_navigation_previous', 'args': 'object.id', 'famfam': 'resultset_previous', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} document_page_navigation_first = {'text': _('first page'), 'view': 'document_page_navigation_first', 'args': 'object.id', 'famfam': 'resultset_first', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} document_page_navigation_last = {'text': _('last page'), 'view': 'document_page_navigation_last', 'args': 'object.id', 'famfam': 'resultset_last', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} +document_page_zoom_in = {'text': _('zoom in'), 'view': 'document_page_zoom_in', 'args': 'object.id', 'famfam': 'zoom_in', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} +document_page_zoom_out = {'text': _('zoom out'), 'view': 'document_page_zoom_out', 'args': 'object.id', 'famfam': 'zoom_out', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} document_missing_list = {'text': _('Find missing document files'), 'view': 'document_missing_list', 'famfam': 'folder_page', 'permissions': {'namespace': 'documents', 'permissions': [PERMISSION_DOCUMENT_VIEW]}} staging_file_preview = {'text': _('preview'), 'class': 'fancybox-noscaling', 'view': 'staging_file_preview', 'args': 'object.id', 'famfam': 'drive_magnify'} staging_file_delete = {'text': _('delete'), 'view': 'staging_file_delete', 'args': 'object.id', 'famfam': 'drive_delete'} -#register_links(Document, [document_view_simple, document_view, document_edit, document_edit_metadata, document_delete, document_download, document_find_duplicates, document_clear_transformations], menu_name='sidebar') -#register_links(Document, [document_list_recent, document_list, document_create, document_create_multiple, document_create_sibling], menu_name='sidebar') register_links(Document, [document_view_simple, document_view, document_edit, document_edit_metadata, document_delete, document_download, document_find_duplicates, document_clear_transformations]) -#register_links(Document, [document_list_recent, document_list, document_create, document_create_multiple, document_create_sibling], menu_name='sidebar') register_links(Document, [document_create_sibling], menu_name='sidebar') register_multi_item_links(['document_list', 'document_list_recent'], [document_multiple_clear_transformations, document_multiple_edit_metadata, document_multiple_delete]) @@ -89,7 +88,15 @@ if ENABLE_SINGLE_DOCUMENT_UPLOAD: else: register_links(['document_list_recent', 'document_list', 'document_create', 'document_create_multiple', 'upload_document_with_type', 'upload_multiple_documents_with_type'], [document_list_recent, document_list, document_create_multiple], menu_name='sidebar') -register_links(DocumentPage, [document_page_transformation_list, document_page_view, document_page_text, document_page_edit, document_page_navigation_first, document_page_navigation_previous, document_page_navigation_next, document_page_navigation_last]) +register_links(DocumentPage, [ + document_page_transformation_list, document_page_view, + document_page_text, document_page_edit, + document_page_navigation_first, document_page_navigation_previous, + document_page_navigation_next, document_page_navigation_last +]) + +register_links(['document_page_view'], [document_page_zoom_in, document_page_zoom_out], menu_name='sidebar') + register_links(DocumentPageTransformation, [document_page_transformation_edit, document_page_transformation_delete]) register_links(DocumentPageTransformation, [document_page_transformation_page_edit, document_page_transformation_page_view], menu_name='sidebar') diff --git a/apps/documents/forms.py b/apps/documents/forms.py index c971553714..f301e2d19c 100644 --- a/apps/documents/forms.py +++ b/apps/documents/forms.py @@ -30,11 +30,14 @@ class DocumentPageTransformationForm(forms.ModelForm): class DocumentPageImageWidget(forms.widgets.Widget): def render(self, name, value, attrs=None): + final_attrs = self.build_attrs(attrs) + zoom = final_attrs.get('zoom', 100) if value: output = [] - output.append('