Browse Source

Add a password change form in user gui

Fabs 10 years ago
parent
commit
0033c78a98

+ 5 - 0
coin/members/urls.py

@@ -12,6 +12,11 @@ urlpatterns = patterns(
         name = 'login'),
     url(r'^logout/$', 'django.contrib.auth.views.logout_then_login',
         name = 'logout'),
+    url(r'^password_change/$', 'django.contrib.auth.views.password_change', 
+        {'post_change_redirect':'members:password_change_done'},
+        name = 'password_change'),
+    url(r'^password_change_done/$', 'django.contrib.auth.views.password_change_done',
+        name = 'password_change_done'),
 
     url(r'^detail/$',views.detail,
         name='detail'),

+ 2 - 0
coin/templates/menu_items.html

@@ -5,4 +5,6 @@
 <li class="{% ifactive 'members:invoices' %}active{% endifactive %}"><a href="{% url 'members:invoices' %}">Mes factures</a></li>
 <li class="{% ifactive '' %}active{% endifactive %}"><a href="/members/contact/">Contact / Support</a></li>
 <li class="divider"></li>
+<li class="{% ifactive 'members:password_change' %}active{% endifactive %}"><a href="{% url 'members:password_change' %}">Modifier mon mot de passe</a></li>
+<li class="divider"></li>
 <li class="{% ifactive '' %}active{% endifactive %}"><a href="{% url 'members:logout' %}">Déconnexion</a></li>

+ 60 - 0
coin/templates/registration/password_change_form.html

@@ -0,0 +1,60 @@
+{% extends "base.html" %}
+{% load i18n static %}
+
+{% block content %}
+<form action="" method="post">{% csrf_token %}
+<div class="row">
+    <div class="large-12 columns">
+        <h2>{% trans 'Password change' %}</h2>
+        
+        {% if form.errors %}
+        <div class="alert-box alert">
+            {% if form.errors.items|length == 1 %}{% trans "Please correct the error below." %}{% else %}{% trans "Please correct the errors below." %}{% endif %}
+        </div>
+        {% endif %}
+    </div>
+</div>
+<!-- <div class="row">
+    <div class="large-12 columns">
+        <p>{% trans "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." %}</p>
+    </div>
+</div> -->
+
+<div class="row">
+    <div class="large-12 columns">
+        <fieldset class="module aligned wide">
+
+            <label {% if form.old_password.errors %}class="error"{% endif %}>{% trans 'Old password' %}
+                {{ form.old_password }}
+            </label>
+            {% if form.old_password.errors %}
+                <span class="error">{% for error in form.old_password.errors %}{{ error|escape }}{% endfor %}</span>
+            {% endif %}
+
+            <label {% if form.new_password1.errors %}class="error"{% endif %}>{% trans 'New password' %}
+                {{ form.new_password1 }}
+            </label>
+            {% if form.new_password1.errors %}
+                <span class="error">{% for error in form.new_password1.errors %}{{ error|escape }}{% endfor %}</span>
+            {% endif %}
+            
+            <label {% if form.new_password2.errors %}class="error"{% endif %}>{% trans 'Password (again)' %}
+                {{ form.new_password2 }}
+            </label>
+            {% if form.new_password2.errors %}
+                <span class="error">{% for error in form.new_password2.errors %}{{ error|escape }}{% endfor %}</span>
+            {% endif %}
+
+        </fieldset>
+    </div>
+</div>
+
+<div class="row">
+    <div class="large-12 columns">
+        <input type="submit" value="{% trans 'Change my password' %}" class="button" />
+    </div>
+</div>
+
+<script type="text/javascript">document.getElementById("id_old_password").focus();</script>
+</form>
+{% endblock %}