diff --git a/HISTORY.rst b/HISTORY.rst index a61fdd6a1e..f44b715dec 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -80,6 +80,9 @@ Deploy a Redis container. - Improve document version upload form. - Use dropzone for document version upload form. +- Remove the DOCUMENTS_DISABLE_BASE_IMAGE_CACHE, + DOCUMENTS_DISABLE_TRANSFORMED_IMAGE_CACHE, and + DOCUMENTS_FIX_ORIENTATION settings. 3.2.8 (2019-10-01) ================== diff --git a/mayan/apps/documents/api_views.py b/mayan/apps/documents/api_views.py index 87c4c9bd3d..302ad9a701 100644 --- a/mayan/apps/documents/api_views.py +++ b/mayan/apps/documents/api_views.py @@ -404,7 +404,8 @@ class APIDocumentTypeView(generics.RetrieveUpdateDestroyAPIView): 'GET': (permission_document_type_view,), 'PUT': (permission_document_type_edit,), 'PATCH': (permission_document_type_edit,), - 'DELETE': (permission_document_type_delete,) } + 'DELETE': (permission_document_type_delete,) + } permission_classes = (MayanPermission,) queryset = DocumentType.objects.all() diff --git a/mayan/apps/documents/migrations/0054_reset_document_pages.py b/mayan/apps/documents/migrations/0054_reset_document_pages.py index 413f423e3d..83e6b27410 100644 --- a/mayan/apps/documents/migrations/0054_reset_document_pages.py +++ b/mayan/apps/documents/migrations/0054_reset_document_pages.py @@ -9,9 +9,6 @@ def get_latest_version(document): def operation_reset_document_pages(apps, schema_editor): Document = apps.get_model(app_label='documents', model_name='Document') - DocumentPage = apps.get_model( - app_label='documents', model_name='DocumentPage' - ) # Define inside the function to use the migration's apps instance def pages_reset(document): @@ -40,9 +37,6 @@ def operation_reset_document_pages(apps, schema_editor): def operation_reset_document_pages_reverse(apps, schema_editor): Document = apps.get_model(app_label='documents', model_name='Document') - DocumentPage = apps.get_model( - app_label='documents', model_name='DocumentPage' - ) for document in Document.objects.using(schema_editor.connection.alias).all(): for document_page in document.pages.all(): diff --git a/mayan/apps/documents/models/document_models.py b/mayan/apps/documents/models/document_models.py index 95cbba506d..7cc761fb90 100644 --- a/mayan/apps/documents/models/document_models.py +++ b/mayan/apps/documents/models/document_models.py @@ -224,8 +224,8 @@ class Document(models.Model): self.latest_version.update_page_count() for version_page in self.latest_version.pages.all(): - document_page = self.pages.create( - content_object = version_page + self.pages.create( + content_object=version_page ) def restore(self): diff --git a/mayan/apps/documents/models/document_page_models.py b/mayan/apps/documents/models/document_page_models.py index b6784a1ff8..adc3391ea6 100644 --- a/mayan/apps/documents/models/document_page_models.py +++ b/mayan/apps/documents/models/document_page_models.py @@ -23,7 +23,6 @@ from mayan.apps.converter.utils import get_converter_class from ..managers import DocumentPageManager from ..settings import ( - setting_disable_base_image_cache, setting_disable_transformed_image_cache, setting_display_width, setting_display_height, setting_zoom_max_level, setting_zoom_min_level ) diff --git a/mayan/apps/documents/models/document_version_models.py b/mayan/apps/documents/models/document_version_models.py index d491ca5bd8..2537a9e800 100644 --- a/mayan/apps/documents/models/document_version_models.py +++ b/mayan/apps/documents/models/document_version_models.py @@ -15,15 +15,13 @@ from django.utils.functional import cached_property from django.utils.translation import ugettext_lazy as _ from mayan.apps.converter.exceptions import InvalidOfficeFormat, PageCountError -from mayan.apps.converter.layers import layer_saved_transformations -from mayan.apps.converter.transformations import TransformationRotate from mayan.apps.converter.utils import get_converter_class from mayan.apps.mimetype.api import get_mimetype from ..events import event_document_new_version, event_document_version_revert from ..literals import DOCUMENT_IMAGES_CACHE_NAME from ..managers import DocumentVersionManager -from ..settings import setting_fix_orientation, setting_hash_block_size +from ..settings import setting_hash_block_size from ..signals import post_document_created, post_version_upload from ..storages import storage_documentversion @@ -152,15 +150,6 @@ class DocumentVersion(models.Model): """ return self.file.storage.exists(self.file.name) - def fix_orientation(self): - for page in self.pages.all(): - degrees = page.detect_orientation() - if degrees: - layer_saved_transformations.add_to_object( - obj=page, transformation=TransformationRotate, - arguments='{{"degrees": {}}}'.format(360 - degrees) - ) - def get_absolute_url(self): return reverse( viewname='documents:document_version_view', kwargs={ @@ -296,8 +285,6 @@ class DocumentVersion(models.Model): self.update_mimetype(save=False) self.save(append_pages=append_pages, _user=user) self.update_page_count(save=False) - if setting_fix_orientation.value: - self.fix_orientation() logger.info( 'New document version "%s" created for document: %s', @@ -330,7 +317,7 @@ class DocumentVersion(models.Model): if append_pages: for version_page in self.pages.all(): self.document.pages.create( - content_object = version_page + content_object=version_page ) else: self.document.pages_reset(update_page_count=False) diff --git a/mayan/apps/documents/models/document_version_page_models.py b/mayan/apps/documents/models/document_version_page_models.py index c0c5b7f8f3..f5255ce383 100644 --- a/mayan/apps/documents/models/document_version_page_models.py +++ b/mayan/apps/documents/models/document_version_page_models.py @@ -21,7 +21,6 @@ from mayan.apps.converter.utils import get_converter_class from ..managers import DocumentVersionPageManager from ..settings import ( - setting_disable_base_image_cache, setting_disable_transformed_image_cache, setting_display_width, setting_display_height, setting_zoom_max_level, setting_zoom_min_level ) @@ -67,16 +66,6 @@ class DocumentVersionPage(models.Model): self.cache_partition.delete() super(DocumentVersionPage, self).delete(*args, **kwargs) - #def detect_orientation(self): - # with self.document_version.open() as file_object: - # converter = get_converter_class()( - # file_object=file_object, - # mime_type=self.document_version.mimetype - # ) - # return converter.detect_orientation( - # page_number=self.page_number - # ) - @property def document(self): return self.document_version.document @@ -102,12 +91,12 @@ class DocumentVersionPage(models.Model): return combined_cache_filename - #def get_absolute_url(self): - # return reverse( - # viewname='documents:document_version_page_view', kwargs={ - # 'pk': self.pk - # } - # ) + def get_absolute_url(self): + return reverse( + viewname='documents:document_version_page_view', kwargs={ + 'pk': self.pk + } + ) def get_api_image_url(self, *args, **kwargs): """ @@ -241,10 +230,6 @@ class DocumentVersionPage(models.Model): ) raise - #@property - #def is_in_trash(self): - # return self.document.is_in_trash - def get_label(self): return _( 'Version page %(page_number)d out of %(total_pages)d of %(document)s' @@ -255,6 +240,10 @@ class DocumentVersionPage(models.Model): } get_label.short_description = _('Label') + @property + def is_in_trash(self): + return self.document_version.document.is_in_trash + def natural_key(self): return (self.page_number, self.document_version.natural_key()) natural_key.dependencies = ['documents.DocumentVersion'] diff --git a/mayan/apps/documents/settings.py b/mayan/apps/documents/settings.py index 8a666c8f11..f0ef66fe26 100644 --- a/mayan/apps/documents/settings.py +++ b/mayan/apps/documents/settings.py @@ -38,21 +38,6 @@ setting_documentimagecache_storage_arguments = namespace.add_setting( 'Arguments to pass to the DOCUMENT_CACHE_STORAGE_BACKEND.' ), ) -setting_disable_base_image_cache = namespace.add_setting( - global_name='DOCUMENTS_DISABLE_BASE_IMAGE_CACHE', default=False, - help_text=_( - 'Disables the first cache tier which stores high resolution, ' - 'non transformed versions of documents\'s pages.' - ) -) -setting_disable_transformed_image_cache = namespace.add_setting( - global_name='DOCUMENTS_DISABLE_TRANSFORMED_IMAGE_CACHE', default=False, - help_text=_( - 'Disables the second cache tier which stores medium to low ' - 'resolution, transformed (rotated, zoomed, etc) versions ' - 'of documents\' pages.' - ) -) setting_display_height = namespace.add_setting( global_name='DOCUMENTS_DISPLAY_HEIGHT', default='' ) @@ -65,15 +50,6 @@ setting_favorite_count = namespace.add_setting( 'Maximum number of favorite documents to remember per user.' ) ) -setting_fix_orientation = namespace.add_setting( - global_name='DOCUMENTS_FIX_ORIENTATION', default=False, - help_text=_( - 'Detect the orientation of each of the document\'s pages ' - 'and create a corresponding rotation transformation to ' - 'display it rightside up. This is an experimental ' - 'feature and it is disabled by default.' - ) -) setting_hash_block_size = namespace.add_setting( global_name='DOCUMENTS_HASH_BLOCK_SIZE', default=DEFAULT_DOCUMENTS_HASH_BLOCK_SIZE, help_text=_( diff --git a/mayan/apps/documents/views/document_page_views.py b/mayan/apps/documents/views/document_page_views.py index 46fcacd9e7..7668b98dcb 100644 --- a/mayan/apps/documents/views/document_page_views.py +++ b/mayan/apps/documents/views/document_page_views.py @@ -21,7 +21,7 @@ from mayan.apps.converter.literals import DEFAULT_ROTATION, DEFAULT_ZOOM_LEVEL from ..forms import DocumentPageForm from ..icons import icon_document_pages from ..links import link_document_pages_reset -from ..models import Document, DocumentPage, DocumentVersionPage +from ..models import Document, DocumentPage from ..permissions import permission_document_edit, permission_document_view from ..settings import ( setting_rotation_step, setting_zoom_percent_step, setting_zoom_max_level,