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

Add password reset urls and templates

parent d51dab8e
No related branches found
No related tags found
No related merge requests found
...@@ -5,5 +5,5 @@ from .users import urls as users_urls ...@@ -5,5 +5,5 @@ from .users import urls as users_urls
urlpatterns = [ urlpatterns = [
url(r'^apply/', include(funds_urls)), url(r'^apply/', include(funds_urls)),
url(r'^user/', include(users_urls)) url(r'^user/', include(users_urls, namespace='users')
] ]
...@@ -2,15 +2,50 @@ from django.conf.urls import url ...@@ -2,15 +2,50 @@ from django.conf.urls import url
from django.contrib.auth import views as auth_views from django.contrib.auth import views as auth_views
from django.urls import reverse_lazy
from wagtail.wagtailadmin.forms import PasswordResetForm
from opentech.users.views import account
urlpatterns = [ urlpatterns = [
# TODO replace with dashboard view with a login_required decorator url(r'^$', account, name='account'),
url(r'^$', auth_views.login, { url(
'template_name': 'users/login.html' r'^login/$',
}, name='user'), auth_views.LoginView.as_view(
url(r'^login$', auth_views.login, { template_name='users/login.html',
'template_name': 'users/login.html' redirect_authenticated_user=True
}, name='login'), ),
name='login'
),
# Log out # Log out
url(r'^logout/$', auth_views.logout, {'next_page': '/'}, name='logout'), url(r'^logout/$', auth_views.LogoutView.as_view(next_page='/'), name='logout'),
# Password reset
url(r'^password_reset/$', auth_views.PasswordResetView.as_view(
template_name='users/password_reset/form.html',
email_template_name='users/password_reset/email.txt',
success_url=reverse_lazy('users:password_reset_done'),
form_class=PasswordResetForm
)),
url(
r'^password_reset/done/$',
auth_views.PasswordResetDoneView.as_view(template_name='users/password_reset/done.html'),
name='password_reset_done'
),
url(
r'^password_reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$',
auth_views.PasswordResetConfirmView.as_view(
template_name='users/password_reset/confirm.html',
post_reset_login=True,
success_url=reverse_lazy('users:account')
),
name='password_reset_confirm'
),
url(
r'^password_reset/complete/$',
auth_views.PasswordResetCompleteView.as_view(template_name='users/password_reset/complete.html'),
name='password_reset_complete'
),
] ]
# Views placeholder. from django.contrib.auth.decorators import login_required
from django.template.response import TemplateResponse
@login_required(login_url='/user/login')
def account(request):
"Account page placeholder view"
return TemplateResponse(request, 'users/account.html', {})
...@@ -181,6 +181,7 @@ MEDIA_URL = '/media/' ...@@ -181,6 +181,7 @@ MEDIA_URL = '/media/'
AUTH_USER_MODEL = 'users.User' AUTH_USER_MODEL = 'users.User'
# TODO populate me with the dashboard URL when ready # TODO populate me with the dashboard URL when ready
LOGIN_URL = 'users:login'
LOGIN_REDIRECT_URL = '/' LOGIN_REDIRECT_URL = '/'
# Logging # Logging
......
{% extends 'base.html' %}
{% block title %}Account{% endblock %}
{% block content %}
<h2>Welcome {{ user }}</h2>
{% endblock %}
{% extends "base.html" %}
{% load i18n %}
{% block title %}{% trans "Reset password" %}{% endblock %} {% block content %}
<h1>{% trans "Password change successful" %}</h1>
<p>
<a href="{% url 'users:login' %}">{% trans "Log in" %}</a>
</p>
{% endblock %}
{% extends "base.html" %}
{% load i18n %}
{% block content %}
<form method="post" novalidate>
{% csrf_token %}
<h1>{% trans "Set your new password" %}</h1>
<ul class="fields">
<li>
<div class="field">
{{ form.new_password1.label_tag }} {{ form.new_password1 }}
</div>
</li>
<li>
<div class="field">
{{ form.new_password2.label_tag }} {{ form.new_password2 }}
</div>
</li>
<li class="submit">
<button type="submit">{% trans 'Reset password' %}</button>
</li>
</ul>
</form>
{% endblock %}
{% extends "base.html" %}
{% load i18n %}
{% block title %}{% trans "Reset password" %}{% endblock %}
{% block content %}
<h1>{% trans "Check your email" %}</h1>
<p>{% trans "A link to reset your password has been emailed to you." %}</p>
{% endblock %}
{% load i18n wagtailadmin_tags %}{% base_url_setting as base_url %}
{% trans "Please follow the link below to reset your password:" %}
{% if base_url %}{{ base_url }}{% else %}{{ protocol }}://{{ domain }}{% endif %}{% url 'users:password_reset_confirm' uidb64=uid token=token %}
{% if user.USERNAME_FIELD != "email" %}
{% trans "Your username (in case you've forgotten):" %} {{ user.get_username }}
{% endif %}
{% extends 'base.html' %}
{% load i18n %}
{% block title %}{% trans "Reset 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 %}
<form method="post">
{% csrf_token %}
{{ form.email.label_tag }}
{{ form.email }}
<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