From 1b494b42007f3136f0405f30d200c3ee398fa75f Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 15 Feb 2011 20:44:19 -0400 Subject: [PATCH] Make default transformation application a method of Document, and execute on both upload methods --- apps/documents/models.py | 16 ++++++++++++++++ apps/documents/views.py | 17 +++-------------- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/apps/documents/models.py b/apps/documents/models.py index cf3489e547..e12e4b59ba 100755 --- a/apps/documents/models.py +++ b/apps/documents/models.py @@ -26,6 +26,7 @@ from documents.conf.settings import FILESYSTEM_FILESERVING_PATH from documents.conf.settings import FILESYSTEM_SLUGIFY_PATHS from documents.conf.settings import FILESYSTEM_MAX_RENAME_COUNT from documents.conf.settings import AVAILABLE_TRANSFORMATIONS +from documents.conf.settings import DEFAULT_TRANSFORMATIONS if FILESYSTEM_SLUGIFY_PATHS == False: #Do not slugify path or filenames and extensions @@ -177,6 +178,21 @@ class Document(models.Model): metadata_groups[group] = Document.objects.filter(Q(id__in=document_id_list)) or [] return metadata_groups, errors + + def apply_default_transformations(self): + if DEFAULT_TRANSFORMATIONS: + for transformation in DEFAULT_TRANSFORMATIONS: + if 'name' in transformation: + for document_page in self.documentpage_set.all(): + page_transformation = DocumentPageTransformation( + document_page=document_page, + order=0, + transformation=transformation['name']) + if 'arguments' in transformation: + page_transformation.arguments = transformation['arguments'] + + page_transformation.save() + def create_fs_links(self): if FILESYSTEM_FILESERVING_ENABLE: diff --git a/apps/documents/views.py b/apps/documents/views.py index 187d4268ef..56e7510f58 100755 --- a/apps/documents/views.py +++ b/apps/documents/views.py @@ -129,20 +129,7 @@ def upload_document_with_type(request, document_type_id, multiple=True): instance.update_checksum() instance.update_mimetype() instance.update_page_count() - if DEFAULT_TRANSFORMATIONS: - for transformation in DEFAULT_TRANSFORMATIONS: - if 'name' in transformation: - for document_page in instance.documentpage_set.all(): - page_transformation = DocumentPageTransformation( - document_page=document_page, - order=0, - transformation=transformation['name']) - if 'arguments' in transformation: - page_transformation.arguments = transformation['arguments'] - - page_transformation.save() - - + instance.apply_default_transformations() if 'document_type_available_filenames' in local_form.cleaned_data: if local_form.cleaned_data['document_type_available_filenames']: @@ -177,6 +164,8 @@ def upload_document_with_type(request, document_type_id, multiple=True): document.update_checksum() document.update_mimetype() document.update_page_count() + document.apply_default_transformations() + except Exception, e: messages.error(request, e) else: