Skip to content
Snippets Groups Projects
Commit 6e08034b authored by Dan Braghis's avatar Dan Braghis
Browse files

Add password change form

parent 2b31bc46
No related branches found
No related tags found
No related merge requests found
...@@ -22,6 +22,16 @@ urlpatterns = [ ...@@ -22,6 +22,16 @@ urlpatterns = [
# Log out # Log out
url(r'^logout/$', auth_views.LogoutView.as_view(next_page='/'), name='logout'), url(r'^logout/$', auth_views.LogoutView.as_view(next_page='/'), name='logout'),
# Password change
url(
r'^password/$',
auth_views.PasswordChangeView.as_view(
template_name="users/change_password.html",
success_url=reverse_lazy('users:account')
),
name='password_change',
),
# Password reset # Password reset
url(r'^reset/$', auth_views.PasswordResetView.as_view( url(r'^reset/$', auth_views.PasswordResetView.as_view(
template_name='users/password_reset/form.html', template_name='users/password_reset/form.html',
......
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.template.response import TemplateResponse from django.shortcuts import render
from wagtail.wagtailadmin.views.account import password_management_enabled
@login_required(login_url='/user/login') @login_required(login_url='/user/login')
def account(request): def account(request):
"Account page placeholder view" "Account page placeholder view"
return TemplateResponse(request, 'users/account.html', {})
return render(request, 'users/account.html', {
'show_change_password': password_management_enabled() and request.user.has_usable_password(),
})
{% extends 'base.html' %} {% extends 'base.html' %}
{% load i18n %}
{% block title %}Account{% endblock %} {% block title %}Account{% endblock %}
{% block content %} {% block content %}
<h2>Welcome {{ user }}</h2> <h2>Welcome {{ user }}</h2>
{% if show_change_password %}
<a href="{% url 'users:password_change' %}">{% trans "Change password" %}</a>
{% endif %}
{% endblock %} {% endblock %}
{% extends 'base.html' %}
{% load i18n %}
{% block title %}{% trans "Change password" %}{% endblock %}
{% block content %}
{% if form.non_field_errors %}
<div class="messages">
<ul>
{% for error in form.non_field_errors %}
<li class="error">{{ error }}</li>
{% endfor %}
</ul>
</div>
{% endif %}
{% if form.errors %}
<div class="messages">
{% if form.errors.items|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %}
</div>
{% endif %}
<form action="{% url 'users:password_change' %}" method="POST" novalidate>
{% csrf_token %}
{% for field in form %}
{{ field.errors }}
{{ field.label_tag }}
{{ field }}
{% endfor %}
<button type="submit">{% trans 'Reset password' %}</button>
</form>
{% endblock %}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment