mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-05-11 08:43:10 +00:00
Made login view redirect already logged in users to dashboard.
Fixes #25
This commit is contained in:
parent
a104c5eb16
commit
8fa0bc07df
5 changed files with 25 additions and 12 deletions
|
|
@ -13,6 +13,6 @@
|
|||
{% block furniture %}
|
||||
<div class="content-wrapper">
|
||||
<h1>{% trans "Password change successful" %}</h1>
|
||||
<p><a href="{% url 'django.contrib.auth.views.login' %}" class="button button-primary">{% trans "Login" %}</a></p>
|
||||
<p><a href="{% url 'wagtailadmin_login' %}" class="button button-primary">{% trans "Login" %}</a></p>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
|
||||
<form action="{% url 'django.contrib.auth.views.login' %}" method="post" autocomplete="off">
|
||||
<form action="{% url 'wagtailadmin_login' %}" method="post" autocomplete="off">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="next" value="{{ next }}" />
|
||||
<h1>{% trans "Sign in to Wagtail" %}</h1>
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@ class TestAuthentication(TestCase):
|
|||
self.assertTrue('_auth_user_id' in self.client.session)
|
||||
self.assertEqual(self.client.session['_auth_user_id'], User.objects.get(username='test').id)
|
||||
|
||||
@unittest.expectedFailure # See: https://github.com/torchbox/wagtail/issues/25
|
||||
def test_already_logged_in_redirect(self):
|
||||
"""
|
||||
This tests that a user who is already logged in is automatically
|
||||
|
|
|
|||
|
|
@ -5,15 +5,8 @@ from wagtail.wagtailadmin.forms import LoginForm, PasswordResetForm
|
|||
from wagtail.wagtailadmin.views import account, chooser, home, pages, tags, userbar
|
||||
from wagtail.wagtailadmin import hooks
|
||||
|
||||
urlpatterns = [
|
||||
url(
|
||||
r'^login/$', 'django.contrib.auth.views.login', {
|
||||
'template_name': 'wagtailadmin/login.html',
|
||||
'authentication_form': LoginForm,
|
||||
'extra_context': {'show_password_reset': getattr(settings, 'WAGTAIL_PASSWORD_MANAGEMENT_ENABLED', True)},
|
||||
}, name='wagtailadmin_login'
|
||||
),
|
||||
|
||||
urlpatterns = [
|
||||
# Password reset
|
||||
url(
|
||||
r'^password_reset/$', 'django.contrib.auth.views.password_reset', {
|
||||
|
|
@ -81,6 +74,7 @@ urlpatterns += [
|
|||
|
||||
url(r'^tag-autocomplete/$', tags.autocomplete, name='wagtailadmin_tag_autocomplete'),
|
||||
|
||||
url(r'^login/$', account.login, name='wagtailadmin_login'),
|
||||
url(r'^account/$', account.account, name='wagtailadmin_account'),
|
||||
url(r'^account/change_password/$', account.change_password, name='wagtailadmin_account_change_password'),
|
||||
url(r'^logout/$', account.logout, name='wagtailadmin_logout'),
|
||||
|
|
|
|||
|
|
@ -3,8 +3,13 @@ from django.shortcuts import render, redirect
|
|||
from django.contrib import messages
|
||||
from django.contrib.auth.forms import SetPasswordForm
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
from django.contrib.auth.views import logout as auth_logout
|
||||
from django.contrib.auth.views import logout as auth_logout, login as auth_login
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.views.decorators.debug import sensitive_post_parameters
|
||||
from django.views.decorators.cache import never_cache
|
||||
|
||||
from wagtail.wagtailadmin import forms
|
||||
|
||||
|
||||
@permission_required('wagtailadmin.access_admin')
|
||||
def account(request):
|
||||
|
|
@ -37,6 +42,21 @@ def change_password(request):
|
|||
})
|
||||
|
||||
|
||||
@sensitive_post_parameters()
|
||||
@never_cache
|
||||
def login(request):
|
||||
if request.user.is_authenticated():
|
||||
return redirect('wagtailadmin_home')
|
||||
else:
|
||||
return auth_login(request,
|
||||
template_name='wagtailadmin/login.html',
|
||||
authentication_form=forms.LoginForm,
|
||||
extra_context={
|
||||
'show_password_reset': getattr(settings, 'WAGTAIL_PASSWORD_MANAGEMENT_ENABLED', True),
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
def logout(request):
|
||||
response = auth_logout(request, next_page = 'wagtailadmin_login')
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue