--- /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