Make login button return user to previous page

Send the current URL path as a parameter to the login URL so that after
successfully logging in, you come back to where you were beforehand.
Also hide the login/user drop-down on the login page since it's
superfluous.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
This commit is contained in:
Paul Eggleton 2018-11-19 16:36:41 +13:00
parent b767d709ff
commit 4f25afe805
3 changed files with 11 additions and 1 deletions

View File

@ -16,6 +16,10 @@ def layerindex_context(request):
site_name = site.name site_name = site.name
else: else:
site_name = 'OpenEmbedded Layer Index' site_name = 'OpenEmbedded Layer Index'
if request.path.startswith('/accounts'):
login_return_url = ''
else:
login_return_url = request.path
return { return {
'all_branches': Branch.objects.exclude(comparison=True).order_by('sort_priority'), 'all_branches': Branch.objects.exclude(comparison=True).order_by('sort_priority'),
'unpublished_count': LayerItem.objects.filter(status='N').count(), 'unpublished_count': LayerItem.objects.filter(status='N').count(),
@ -23,4 +27,5 @@ def layerindex_context(request):
'rrs_enabled': 'rrs' in settings.INSTALLED_APPS, 'rrs_enabled': 'rrs' in settings.INSTALLED_APPS,
'notices': SiteNotice.objects.filter(disabled=False).filter(Q(expires__isnull=True) | Q(expires__gte=datetime.now())), 'notices': SiteNotice.objects.filter(disabled=False).filter(Q(expires__isnull=True) | Q(expires__gte=datetime.now())),
'comparison_branches': Branch.objects.filter(comparison=True), 'comparison_branches': Branch.objects.filter(comparison=True),
'login_return_url': login_return_url,
} }

View File

@ -37,6 +37,7 @@
</div> </div>
<div class="navbar-collapse collapse"> <div class="navbar-collapse collapse">
{% block userfunctions %}
{% if user.is_authenticated %} {% if user.is_authenticated %}
<div class="btn-group pull-right nav-spacer"> <div class="btn-group pull-right nav-spacer">
{% if perms.layerindex.publish_layer %} {% if perms.layerindex.publish_layer %}
@ -59,9 +60,10 @@
</div> </div>
{% else %} {% else %}
<div class="pull-right nav-spacer"> <div class="pull-right nav-spacer">
<a class="btn btn-default navbar-btn" href="{% url 'auth_login' %}">{% trans "Log in" %}</a> <a class="btn btn-default navbar-btn" href="{% url 'auth_login' %}{% if login_return_url %}?next={{ login_return_url }}{% endif %}">{% trans "Log in" %}</a>
</div> </div>
{% endif %} {% endif %}
{% endblock %}
<ul class="nav navbar-nav pull-right"> <ul class="nav navbar-nav pull-right">
<li class="divider-vertical"></li> <li class="divider-vertical"></li>
</ul> </ul>

View File

@ -1,6 +1,9 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n %}
{% block userfunctions %}
{% endblock %}
{% block content %} {% block content %}
<form id="login_form" method="post" action="."> <form id="login_form" method="post" action=".">
{{ form.as_p }} {{ form.as_p }}