src/cm/middleware.py
author gibus
Mon, 14 Nov 2011 10:16:54 +0100
changeset 391 284692d9d504
parent 285 1070d52adc11
child 475 782d40ecf7c3
permissions -rw-r--r--
add_comment_button should be hidden with initially_hidden css class if can_create_comment permission is false => do not set this css property directly on html element.

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

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():
                query = urlencode({'next': request.META['PATH_INFO'], 'q' : request.META['QUERY_STRING'] })
                login_url = reverse('login') + '?'  + query
                return HttpResponseRedirect(login_url)
            else:
                redirect_url = reverse('unauthorized')
                return HttpResponseRedirect(redirect_url)
        raise