X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/1a949f7c97dc2f34c135f5cdf088df2927d3d652..9bea91a74f63f694e5497f38998730e6f8ada1c5:/forum/middleware/anon_user.py?ds=sidebyside diff --git a/forum/middleware/anon_user.py b/forum/middleware/anon_user.py index 866734d..dafca3e 100644 --- a/forum/middleware/anon_user.py +++ b/forum/middleware/anon_user.py @@ -1,11 +1,12 @@ -from django.http import HttpResponseRedirect -from forum.utils.forms import get_next_url +from django.http import HttpResponseRedirect, HttpResponse +from forum.forms import get_next_url from django.utils.translation import ugettext as _ -from forum.user_messages import create_message, get_and_delete_messages -from django.conf import settings +from forum import settings from django.core.urlresolvers import reverse import logging +from django.contrib import messages + class AnonymousMessageManager(object): def __init__(self,request): self.request = request @@ -25,11 +26,17 @@ class ConnectToSessionMessagesMiddleware(object): def process_request(self, request): if not request.user.is_authenticated(): request.user.__deepcopy__ = dummy_deepcopy #plug on deepcopy which may be called by django db "driver" - request.user.message_set = AnonymousMessageManager(request) #here request is linked to anon user - 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: request.session['greeting_set'] = True + msg = _('First time here? Check out the FAQ!') % reverse('faq') - request.user.message_set.create(message=msg) + + # If the store greeting in cookie setting is activated make sure that the greeting_set cookies isn't set + if (settings.STORE_GREETING_IN_COOKIE and not request.COOKIES.has_key('greeting_set')) or \ + not settings.STORE_GREETING_IN_COOKIE: + messages.info(request, msg) + + if settings.STORE_GREETING_IN_COOKIE: + request.COOKIES.set(key='greeting_set', value=True)