# HG changeset patch
# User raph
# Date 1279205731 -7200
# Node ID 1070d52adc1175d6cf00c27f9edbd0e77b3da755
# Parent 730dd9fb2c770a8409aae61a3f221d7e11491925
propagates query string parameters when login in (so that link with direct coment id are properly propagated)
diff -r 730dd9fb2c77 -r 1070d52adc11 src/cm/middleware.py
--- a/src/cm/middleware.py Thu Jul 15 16:54:29 2010 +0200
+++ b/src/cm/middleware.py Thu Jul 15 16:55:31 2010 +0200
@@ -2,6 +2,7 @@
from django.conf import settings
from django.http import HttpResponseServerError,HttpResponseRedirect
from django.core.urlresolvers import reverse
+from urllib import urlencode
class CmMiddleware(object):
@@ -11,7 +12,8 @@
traceback.print_exc()
if type(exception) == UnauthorizedException:
if request.user.is_anonymous():
- login_url = reverse('login') + '?next=%s' %request.META['PATH_INFO']
+ query = urlencode({'next': request.META['PATH_INFO'], 'q' : request.META['QUERY_STRING'] })
+ login_url = reverse('login') + '?' + query
return HttpResponseRedirect(login_url)
else:
redirect_url = reverse('unauthorized')
diff -r 730dd9fb2c77 -r 1070d52adc11 src/cm/templates/site/login_form.html
--- a/src/cm/templates/site/login_form.html Thu Jul 15 16:54:29 2010 +0200
+++ b/src/cm/templates/site/login_form.html Thu Jul 15 16:55:31 2010 +0200
@@ -27,6 +27,9 @@
{% if request.GET.next %}
{% endif %}
+{% if request.GET.q %}
+
+{% endif %}
diff -r 730dd9fb2c77 -r 1070d52adc11 src/cm/views/user.py
--- a/src/cm/views/user.py Thu Jul 15 16:54:29 2010 +0200
+++ b/src/cm/views/user.py Thu Jul 15 16:55:31 2010 +0200
@@ -544,8 +544,12 @@
display_message(request, _(u"You're logged in!"))
next = request.POST.get('next', None)
+ q = request.POST.get('q', None)
if next and next.startswith('/'):
- return HttpResponseRedirect(next)
+ if q:
+ return HttpResponseRedirect(next + '?' + q)
+ else:
+ return HttpResponseRedirect(next)
else:
return HttpResponseRedirect(reverse('index'))