src/cm/middleware.py
changeset 0 40c8f766c9b8
child 285 1070d52adc11
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/middleware.py	Mon Nov 23 15:14:29 2009 +0100
@@ -0,0 +1,19 @@
+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