From c2854d094bb28f2f9bad321a5127265d3c4a3de5 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sat, 1 Jul 2017 02:31:52 -0400 Subject: [PATCH] Improve error message display when uploading documents via the AJAX drag & drop widget. Signed-off-by: Roberto Rosario --- mayan/apps/sources/views.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/mayan/apps/sources/views.py b/mayan/apps/sources/views.py index a4b3e95694..a07ad38a0a 100644 --- a/mayan/apps/sources/views.py +++ b/mayan/apps/sources/views.py @@ -2,8 +2,9 @@ from __future__ import absolute_import, unicode_literals from django.contrib import messages from django.core.urlresolvers import reverse, reverse_lazy -from django.http import HttpResponseRedirect +from django.http import HttpResponseRedirect, JsonResponse from django.shortcuts import get_object_or_404 +from django.utils.encoding import force_text from django.utils.translation import ugettext_lazy as _ from acls.models import AccessControlList @@ -190,9 +191,17 @@ class UploadInteractiveView(UploadBaseView): self.tab_links = UploadBaseView.get_active_tab_links() - return super( - UploadInteractiveView, self - ).dispatch(request, *args, **kwargs) + try: + return super( + UploadInteractiveView, self + ).dispatch(request, *args, **kwargs) + except Exception as exception: + if request.is_ajax(): + return JsonResponse( + data={'error': force_text(exception)}, status=500 + ) + else: + raise def forms_valid(self, forms): if self.source.can_compress: