diff options
author | Rag Sagar.V <ragsagar@gmail.com> | 2011-09-20 23:35:21 +0530 |
---|---|---|
committer | Rag Sagar.V <ragsagar@gmail.com> | 2011-09-20 23:35:21 +0530 |
commit | 02d92662edfa8a4434355acc6d7d10ba4998b136 (patch) | |
tree | b2944a8dbb2e1f05c97046aba775f306e048d666 /askbot/middleware | |
parent | d967dc8765eeb8f2b11a206a0cb7f041b752b583 (diff) | |
download | askbot-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.py | 24 |
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 + |