From eb01c38914516ced473baac596044e111539ca5b Mon Sep 17 00:00:00 2001 From: Yingtong Li Date: Fri, 25 Jan 2019 10:31:15 +1100 Subject: [PATCH] Implement login ?next= --- ssmain/views.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ssmain/views.py b/ssmain/views.py index fa6adeb..daa51d1 100644 --- a/ssmain/views.py +++ b/ssmain/views.py @@ -1,5 +1,5 @@ # Society Self-Service -# Copyright © 2018 Yingtong Li (RunasSudo) +# Copyright © 2018-2019 Yingtong Li (RunasSudo) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -21,13 +21,18 @@ from django.http import HttpResponse from django.shortcuts import render, redirect from django.urls import reverse +import urllib.parse + def index(request): if request.user.is_authenticated: return redirect(reverse('splash')) return render(request, 'ssmain/index.html') def login(request): - return redirect(reverse('social:begin', args=['google-oauth2'])) + baseurl = reverse('social:begin', args=['google-oauth2']) + if 'next' in request.GET: + baseurl += '?' + urllib.parse.urlencode({'next': request.GET['next']}) + return redirect(baseurl) def logout(request): auth_logout(request)