From 855c3c7eb517b065269420d3573bf4fb4ce1edf1 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Sat, 22 Mar 2014 14:29:10 +0100 Subject: [PATCH] Fix worong serialization of exceptions generated by domain application. --- taiga/base/domains/middleware.py | 1 - taiga/base/exceptions.py | 6 ++---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/taiga/base/domains/middleware.py b/taiga/base/domains/middleware.py index dc3f8565..36931857 100644 --- a/taiga/base/domains/middleware.py +++ b/taiga/base/domains/middleware.py @@ -3,7 +3,6 @@ import json from django import http - from taiga.base import domains from taiga.base.exceptions import format_exception diff --git a/taiga/base/exceptions.py b/taiga/base/exceptions.py index da1301b3..a993ea76 100644 --- a/taiga/base/exceptions.py +++ b/taiga/base/exceptions.py @@ -5,6 +5,7 @@ from rest_framework import status from rest_framework.response import Response from django.core.exceptions import PermissionDenied as DjangoPermissionDenied +from django.utils.encoding import force_text from django.utils.translation import ugettext_lazy as _ from django.http import Http404 @@ -76,16 +77,13 @@ class NotAuthenticated(exceptions.NotAuthenticated): def format_exception(exc): - # TODO: this method need a refactor. - # TODO: should return in uniform way all exceptions. - if isinstance(exc.detail, (dict, list, tuple,)): detail = exc.detail else: class_name = exc.__class__.__name__ class_module = exc.__class__.__module__ detail = { - "_error_message": exc.detail, + "_error_message": force_text(exc.detail), "_error_type": "{0}.{1}".format(class_module, class_name) }