summaryrefslogtreecommitdiffstats
path: root/middleware/cancel.py
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/cancel.py')
-rw-r--r--middleware/cancel.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/middleware/cancel.py b/middleware/cancel.py
new file mode 100644
index 00000000..f03ff35e
--- /dev/null
+++ b/middleware/cancel.py
@@ -0,0 +1,15 @@
+from django.http import HttpResponseRedirect
+from django_authopenid.util import get_next_url
+import logging
+class CancelActionMiddleware(object):
+ def process_view(self, request, view_func, view_args, view_kwargs):
+ if 'cancel' in request.REQUEST:
+ #todo use session messages for the anonymous users
+ try:
+ msg = getattr(view_func,'CANCEL_MESSAGE')
+ except AttributeError:
+ msg = 'action canceled'
+ request.user.message_set.create(message=msg)
+ return HttpResponseRedirect(get_next_url(request))
+ else:
+ return None