summaryrefslogtreecommitdiffstats
path: root/askbot/middleware
diff options
context:
space:
mode:
authorRag Sagar.V <ragsagar@gmail.com>2011-09-20 23:35:21 +0530
committerRag Sagar.V <ragsagar@gmail.com>2011-09-20 23:35:21 +0530
commit02d92662edfa8a4434355acc6d7d10ba4998b136 (patch)
treeb2944a8dbb2e1f05c97046aba775f306e048d666 /askbot/middleware
parentd967dc8765eeb8f2b11a206a0cb7f041b752b583 (diff)
downloadaskbot-02d92662edfa8a4434355acc6d7d10ba4998b136.tar.gz
askbot-02d92662edfa8a4434355acc6d7d10ba4998b136.tar.bz2
askbot-02d92662edfa8a4434355acc6d7d10ba4998b136.zip
fixed appearance of anonymous user message when user logs out
Diffstat (limited to 'askbot/middleware')
-rw-r--r--askbot/middleware/anon_user.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/askbot/middleware/anon_user.py b/askbot/middleware/anon_user.py
index 06e9dfd0..d49ac204 100644
--- a/askbot/middleware/anon_user.py
+++ b/askbot/middleware/anon_user.py
@@ -7,7 +7,7 @@ class AnonymousMessageManager(object):
def __init__(self, request):
self.request = request
def create(self, message=''):
- create_message(self.request, message)
+ create_message(self.request, message)
def get_and_delete(self):
messages = get_and_delete_messages(self.request)
return messages
@@ -22,15 +22,31 @@ class ConnectToSessionMessagesMiddleware(object):
def process_request(self, request):
if not request.user.is_authenticated():
#plug on deepcopy which may be called by django db "driver"
- request.user.__deepcopy__ = dummy_deepcopy
+ request.user.__deepcopy__ = dummy_deepcopy
#here request is linked to anon user
- request.user.message_set = AnonymousMessageManager(request)
+ request.user.message_set = AnonymousMessageManager(request)
request.user.get_and_delete_messages = \
request.user.message_set.get_and_delete
#also set the first greeting one time per session only
- if 'greeting_set' not in request.session:
+ if 'greeting_set' not in request.session and \
+ 'stranger' not in request.COOKIES:
request.session['greeting_set'] = True
msg = _(const.GREETING_FOR_ANONYMOUS_USER) \
% askbot_settings.GREETING_URL
request.user.message_set.create(message=msg)
+
+ def process_response(self, request, response):
+ """ Sets the stranger flag if user ever authenticates so that the
+ anonymous user message won't be shown. """
+ if request.user.is_authenticated() and \
+ 'stranger' not in request.COOKIES :
+ #import datetime
+ #max_age = 365*24*60*60
+ #expires = datetime.datetime.strftime\
+ # (datetime.datetime.utcnow() +
+ # datetime.timedelta(seconds=max_age),\
+ # "%a, %d-%b-%Y %H:%M:%S GMT")
+ response.set_cookie('stranger', False)
+ return response
+