pytask/middleware/exceptions.py
changeset 541 a1007eb3fff9
parent 539 59e032315ab9
equal deleted inserted replaced
540:b07d52d49db7 541:a1007eb3fff9
     8 
     8 
     9 from django.http import HttpResponse
     9 from django.http import HttpResponse
    10 from django.template import loader
    10 from django.template import loader
    11 from django.template import RequestContext
    11 from django.template import RequestContext
    12 
    12 
       
    13 from pytask.helpers.exceptions import PyTaskException
    13 from pytask.helpers.exceptions import UnauthorizedAccess
    14 from pytask.helpers.exceptions import UnauthorizedAccess
    14 
    15 
    15 
    16 
    16 class ExceptionMiddleware(object):
    17 class ExceptionMiddleware(object):
    17     """Middleware definition that processes exceptions raised in PyTaskViews.
    18     """Middleware definition that processes exceptions raised in PyTaskViews.
    19   
    20   
    20     def process_exception(self, request, exception):
    21     def process_exception(self, request, exception):
    21         """Process the exception raised.
    22         """Process the exception raised.
    22         """
    23         """
    23 
    24 
    24         if isinstance(exception, UnauthorizedAccess):
    25         if (isinstance(exception, PyTaskException) or 
       
    26           isinstance(exception, UnauthorizedAccess)):
    25             template = loader.get_template('error.html')
    27             template = loader.get_template('error.html')
    26             context = RequestContext(request, {
    28             context = RequestContext(request, {
    27               'error_message': exception.message
    29               'error_message': exception.message
    28               })
    30               })
    29             return HttpResponse(template.render(context))
    31             return HttpResponse(template.render(context))