Finished fixing new document transformations
This commit is contained in:
@@ -7,9 +7,6 @@ class SourceTransformationManager(models.Manager):
|
||||
ct = ContentType.objects.get_for_model(obj)
|
||||
return self.model.objects.filter(content_type=ct).filter(object_id=obj.pk)
|
||||
|
||||
#def get_for_object_as_list(self, obj):
|
||||
# return list([{'transformation': transformation['transformation'], 'arguments': eval(transformation['arguments'])} for transformation in self.get_for_object(obj).values('transformation', 'arguments')])
|
||||
|
||||
def get_for_object_as_list(self, obj):
|
||||
warnings = []
|
||||
transformations = []
|
||||
|
||||
@@ -11,7 +11,6 @@ from django.utils.translation import ugettext_lazy as _
|
||||
from converter.api import convert, cache_cleanup
|
||||
|
||||
DEFAULT_STAGING_DIRECTORY = u'/tmp'
|
||||
#from documents.conf.settings import DEFAULT_TRANSFORMATIONS
|
||||
|
||||
HASH_FUNCTION = lambda x: hashlib.sha256(x).hexdigest()
|
||||
#TODO: Do benchmarks
|
||||
|
||||
@@ -129,9 +129,13 @@ def upload_interactive(request, source_type=None, source_id=None):
|
||||
expand = True
|
||||
else:
|
||||
expand = False
|
||||
if (not expand) or (expand and not _handle_zip_file(request, request.FILES['file'], document_type)):
|
||||
|
||||
transformations, errors = SourceTransformation.objects.get_for_object_as_list(web_form)
|
||||
|
||||
if (not expand) or (expand and not _handle_zip_file(request, request.FILES['file'], document_type=document_type, transformations=transformations)):
|
||||
instance = form.save()
|
||||
instance.save()
|
||||
instance.apply_default_transformations(transformations)
|
||||
if document_type:
|
||||
instance.document_type = document_type
|
||||
_handle_save_document(request, instance, form)
|
||||
@@ -174,16 +178,18 @@ def upload_interactive(request, source_type=None, source_id=None):
|
||||
expand = True
|
||||
else:
|
||||
expand = False
|
||||
if (not expand) or (expand and not _handle_zip_file(request, staging_file.upload(), document_type)):
|
||||
transformations, errors = SourceTransformation.objects.get_for_object_as_list(staging_folder)
|
||||
if (not expand) or (expand and not _handle_zip_file(request, staging_file.upload(), document_type=document_type, transformations=transformations)):
|
||||
document = Document(file=staging_file.upload())
|
||||
if document_type:
|
||||
document.document_type = document_type
|
||||
document.save()
|
||||
document.apply_default_transformations(transformations)
|
||||
_handle_save_document(request, document, form)
|
||||
messages.success(request, _(u'Staging file: %s, uploaded successfully.') % staging_file.filename)
|
||||
|
||||
if staging_folder.delete_after_upload:
|
||||
staging_file.delete(staging_folder.get_preview_size())
|
||||
staging_file.delete(preview_size=staging_folder.get_preview_size(), transformations=transformations)
|
||||
messages.success(request, _(u'Staging file: %s, deleted successfully.') % staging_file.filename)
|
||||
except Exception, e:
|
||||
messages.error(request, e)
|
||||
@@ -260,7 +266,7 @@ def _handle_save_document(request, document, form=None):
|
||||
create_history(HISTORY_DOCUMENT_CREATED, document, {'user': request.user})
|
||||
|
||||
|
||||
def _handle_zip_file(request, uploaded_file, document_type=None):
|
||||
def _handle_zip_file(request, uploaded_file, document_type=None, transformations=None):
|
||||
filename = getattr(uploaded_file, 'filename', getattr(uploaded_file, 'name', ''))
|
||||
if filename.lower().endswith('zip'):
|
||||
zfobj = zipfile.ZipFile(uploaded_file)
|
||||
@@ -318,8 +324,8 @@ def staging_file_delete(request, source_type, source_id, staging_file_id):
|
||||
StagingFile = create_staging_file_class(request, staging_folder.folder_path)
|
||||
|
||||
staging_file = StagingFile.get(staging_file_id)
|
||||
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', None)))
|
||||
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', None)))
|
||||
next = request.POST.get('next', request.GET.get('next', request.META.get('HTTP_REFERER', '/')))
|
||||
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', '/')))
|
||||
|
||||
if request.method == 'POST':
|
||||
try:
|
||||
@@ -330,7 +336,7 @@ def staging_file_delete(request, source_type, source_id, staging_file_id):
|
||||
)
|
||||
messages.success(request, _(u'Staging file delete successfully.'))
|
||||
except Exception, e:
|
||||
messages.error(request, e)
|
||||
messages.error(request, _(u'Staging file delete error; %s.') % e)
|
||||
return HttpResponseRedirect(next)
|
||||
|
||||
results = get_active_tab_links()
|
||||
|
||||
Reference in New Issue
Block a user