src/cm/middleware.py
changeset 0 40c8f766c9b8
child 285 1070d52adc11
equal deleted inserted replaced
-1:000000000000 0:40c8f766c9b8
       
     1 from cm.exception import UnauthorizedException 
       
     2 from django.conf import settings
       
     3 from django.http import HttpResponseServerError,HttpResponseRedirect
       
     4 from django.core.urlresolvers import reverse
       
     5 
       
     6 class CmMiddleware(object):
       
     7     
       
     8     def process_exception(self, request, exception):
       
     9         if settings.DEBUG:
       
    10             import sys, traceback
       
    11             traceback.print_exc()
       
    12         if type(exception) == UnauthorizedException:
       
    13             if request.user.is_anonymous():
       
    14                 login_url = reverse('login') + '?next=%s' %request.META['PATH_INFO']
       
    15                 return HttpResponseRedirect(login_url)
       
    16             else:
       
    17                 redirect_url = reverse('unauthorized')
       
    18                 return HttpResponseRedirect(redirect_url)
       
    19         raise