src/cm/middleware.py
author raph
Wed, 05 May 2010 16:37:57 +0200
changeset 266 33eb2ee6b9de
parent 0 40c8f766c9b8
child 285 1070d52adc11
permissions -rw-r--r--
add notifications to admin area

from cm.exception import UnauthorizedException 
from django.conf import settings
from django.http import HttpResponseServerError,HttpResponseRedirect
from django.core.urlresolvers import reverse

class CmMiddleware(object):
    
    def process_exception(self, request, exception):
        if settings.DEBUG:
            import sys, traceback
            traceback.print_exc()
        if type(exception) == UnauthorizedException:
            if request.user.is_anonymous():
                login_url = reverse('login') + '?next=%s' %request.META['PATH_INFO']
                return HttpResponseRedirect(login_url)
            else:
                redirect_url = reverse('unauthorized')
                return HttpResponseRedirect(redirect_url)
        raise