diff options
-rw-r--r-- | templates/changepw/reset_password.html | 20 | ||||
-rw-r--r-- | views.py | 11 |
2 files changed, 24 insertions, 7 deletions
diff --git a/templates/changepw/reset_password.html b/templates/changepw/reset_password.html index d231f51..c225b8d 100644 --- a/templates/changepw/reset_password.html +++ b/templates/changepw/reset_password.html @@ -4,15 +4,27 @@ {% block title %}Password reset{% endblock %} {% block content %} <h2>Password reset</h2> -{% if return_value == 0 %} +{% if not return_value %} <p>Here is your new password:</p> <table> <tr> <th>Username:</th><td>{{ username }}</td> </tr> - <tr> - <th>Password:</th><td>{{ new_password }}</td> - </tr> + {% if new_password %} + <tr> + <th>Password:</th><td>{{ new_password }}</td> + </tr> + {% else %} + <tr> + <th>Password:</th> + <td> + <form action="{% url changepw %}" method="post"> + {% csrf_token %} + <input type="submit" value="Generate" /> + </form> + </td> + </tr> + {% endif %} </table> {% else %} <p>Something went wrong. Please contact an administrator.</p> @@ -77,9 +77,14 @@ def reset_password(request): ''' password_length = 8 # chars username = _get_username(request) - new_password = _generate_password(password_length) - return_value = _reset_password(request, request.user, new_password) - return render_to_response('changepw/reset_password.html', + if request.method == 'POST': + new_password = _generate_password(password_length) + return_value = _reset_password(request, request.user, new_password) + return render_to_response('changepw/reset_password.html', {'username': username, 'new_password': new_password, 'return_value': return_value}, + context_instance=RequestContext(request)) + else: + return render_to_response('changepw/reset_password.html', + {'username': username, 'return_value': None}, context_instance=RequestContext(request))
\ No newline at end of file |