Only extract validation error messages from ValidationError exception instances.

This commit is contained in:
Roberto Rosario
2016-02-10 02:26:57 -04:00
parent f1b090f8d6
commit 03e7339f9b

View File

@@ -2,7 +2,7 @@ from __future__ import absolute_import, unicode_literals
from django.conf import settings from django.conf import settings
from django.contrib import messages from django.contrib import messages
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied, ValidationError
from django.core.urlresolvers import reverse, reverse_lazy from django.core.urlresolvers import reverse, reverse_lazy
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, render_to_response from django.shortcuts import get_object_or_404, render_to_response
@@ -127,18 +127,22 @@ def metadata_edit(request, document_id=None, document_id_list=None):
except Exception as exception: except Exception as exception:
errors.append(exception) errors.append(exception)
if errors:
for error in errors: for error in errors:
if settings.DEBUG: if settings.DEBUG:
raise raise
else: else:
if isinstance(error, ValidationError):
exception_message = ', '.join(error.messages)
else:
exception_message = unicode(error)
messages.error( messages.error(
request, _( request, _(
'Error editing metadata for document: ' 'Error editing metadata for document: '
'%(document)s; %(exception)s.' '%(document)s; %(exception)s.'
) % { ) % {
'document': document, 'document': document,
'exception': ', '.join(exception.messages) 'exception': exception_message
} }
) )
else: else: