Fix for forgot my password.

This commit is contained in:
Nicholas Staples
2016-01-27 18:01:43 +00:00
parent 91bd3e9fdb
commit ca8d78aee5
5 changed files with 25 additions and 14 deletions

View File

@@ -7,13 +7,15 @@ from app.notify_client.sender import send_change_password_email
@main.route('/forgot-password', methods=['GET', 'POST'])
def forgot_password():
form = ForgotPasswordForm()
def _email_exists(email):
return not users_dao.is_email_unique(email)
form = ForgotPasswordForm(_email_exists)
if form.validate_on_submit():
if users_dao.get_user_by_email(form.email_address.data):
users_dao.request_password_reset(form.email_address.data)
send_change_password_email(form.email_address.data)
return render_template('views/password-reset-sent.html')
else:
current_app.logger.info('The email address used does not exist.')
else:
return render_template('views/forgot-password.html', form=form)
user = users_dao.get_user_by_email(form.email_address.data)
users_dao.request_password_reset(user)
send_change_password_email(form.email_address.data)
return render_template('views/password-reset-sent.html')
return render_template('views/forgot-password.html', form=form)

View File

@@ -186,7 +186,7 @@ def user_profile_password():
# Validate password for form
def _check_password(pwd):
return verify_password(current_user, pwd)
return verify_password(current_user.id, pwd)
form = ChangePasswordForm(_check_password)
if form.validate_on_submit():