2016-01-11 15:17:00 +00:00
|
|
|
from flask import render_template, current_app
|
2016-01-04 14:00:39 +00:00
|
|
|
from app.main import main
|
2016-01-05 17:52:09 +00:00
|
|
|
from app.main.dao import users_dao
|
|
|
|
|
from app.main.forms import ForgotPasswordForm
|
2016-01-11 15:17:00 +00:00
|
|
|
from app.notify_client.sender import send_change_password_email
|
2016-01-04 14:00:39 +00:00
|
|
|
|
|
|
|
|
|
2016-01-05 17:52:09 +00:00
|
|
|
@main.route('/forgot-password', methods=['GET', 'POST'])
|
|
|
|
|
def forgot_password():
|
2016-01-27 18:01:43 +00:00
|
|
|
|
2016-01-28 16:36:36 +00:00
|
|
|
form = ForgotPasswordForm()
|
2016-01-04 14:00:39 +00:00
|
|
|
if form.validate_on_submit():
|
2016-01-28 16:36:36 +00:00
|
|
|
if not users_dao.is_email_unique(form.email_address.data):
|
|
|
|
|
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')
|
|
|
|
|
flash('There was an error processing your request')
|
2016-01-27 18:01:43 +00:00
|
|
|
|
|
|
|
|
return render_template('views/forgot-password.html', form=form)
|