summaryrefslogtreecommitdiffstats
path: root/views/accounts.py
diff options
context:
space:
mode:
authorAamir Khan <syst3m.w0rm@gmail.com>2012-06-28 18:53:12 -0400
committerAamir Khan <syst3m.w0rm@gmail.com>2012-06-28 18:53:12 -0400
commit7fdcb2682af36aa9beb1e657b1d44682c7235f1a (patch)
tree6b0e4c2477eccc6f1883e84871f6b826e3e1dcb5 /views/accounts.py
parent2bc6472446426abd97d0b01f02d0318e7d828d50 (diff)
downloadhyperkitty-7fdcb2682af36aa9beb1e657b1d44682c7235f1a.tar.gz
hyperkitty-7fdcb2682af36aa9beb1e657b1d44682c7235f1a.tar.xz
hyperkitty-7fdcb2682af36aa9beb1e657b1d44682c7235f1a.zip
Fix #2: After login user will be directed back to previous page
Diffstat (limited to 'views/accounts.py')
-rw-r--r--views/accounts.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/views/accounts.py b/views/accounts.py
index 7c6948d..1eeb8c9 100644
--- a/views/accounts.py
+++ b/views/accounts.py
@@ -16,6 +16,7 @@ from django.shortcuts import render_to_response, redirect
from django.template import Context, loader, RequestContext
from django.utils.translation import gettext as _
from urllib2 import HTTPError
+from urlparse import urlparse
from gsoc.utils import log
@@ -24,18 +25,26 @@ def user_logout(request):
return redirect('user_login')
def user_login(request,template = 'login.html'):
+
+ parse_r = urlparse(request.META.get('HTTP_REFERER', 'index'))
+ previous = '%s%s' % (parse_r.path, parse_r.query)
+
+ next_var = request.POST.get('next', request.GET.get('next', previous))
+
if request.method == 'POST':
form = AuthenticationForm(request.POST)
user = authenticate(username=request.POST.get('username'),
password=request.POST.get('password'))
- if user is not None:
+
+ if user is not None:
log('debug', user)
if user.is_active:
login(request,user)
- return redirect(request.GET.get('next', 'index'))
+ return redirect(next_var)
+
else:
form = AuthenticationForm()
- return render_to_response(template, {'form': form,},
+ return render_to_response(template, {'form': form, 'next' : next_var},
context_instance=RequestContext(request))
@login_required