redirect to url before login | close #56

This commit is contained in:
doubaniux 2021-02-23 17:29:57 +01:00
parent 3c34ab8e20
commit c73d61c6c6
5 changed files with 13 additions and 17 deletions

View file

@ -14,7 +14,9 @@ class KeyValueInput(forms.Widget):
def get_context(self, name, value, attrs):
context = super().get_context(name, value, attrs)
data = json.loads(context['widget']['value'])
data = None
if context['widget']['value'] is not None:
data = json.loads(context['widget']['value'])
context['widget']['value'] = [ {p[0]: p[1]} for p in data.items()] if data else []
return context

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -51,7 +51,6 @@
<script>
// $("#sitesSelect").chosen();
{% if selected_site %}
$("#sitesSelect").val("{{ selected_site }}");
{% else %}

View file

@ -45,7 +45,12 @@ def OAuth2_login(request):
user = authenticate(request, token=token, site=site)
if user:
auth_login(request, user, token)
response = redirect(reverse('common:home'))
if request.session.get('next_url') is not None:
response = redirect(request.session.get('next_url'))
del request.session['next_url']
else:
response = redirect(reverse('common:home'))
response.delete_cookie('mastodon_domain')
return response
else:
@ -71,6 +76,10 @@ def login(request):
sites = MastodonApplication.objects.all().order_by("domain_name")
# store redirect url in the cookie
if request.GET.get('next'):
request.session['next_url'] = request.GET.get('next')
return render(
request,
'users/login.html',