From ddf00a0ab77086dc8fc01f6cf110e5cf2c329e96 Mon Sep 17 00:00:00 2001 From: Edward Betts Date: Fri, 24 Feb 2017 09:21:29 +0000 Subject: [PATCH] send the password reset e-mail --- sourcing/view.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sourcing/view.py b/sourcing/view.py index 3e53769..c251112 100644 --- a/sourcing/view.py +++ b/sourcing/view.py @@ -7,6 +7,7 @@ from .forms import (LoginForm, SignupForm, AccountSettingsForm, ForgotPasswordForm, PasswordForm) from .model import User, SourceDoc, Item, XanaDoc, XanaLink from .url import get_url +from .mail import send_mail from .edl import fulfil_edl_with_sources from .database import session from .text import iter_lines, add_highlight @@ -64,6 +65,7 @@ def home(): @bp.route('/password_reset', methods=['GET', 'POST']) def password_reset(): + site_name = 'perma.pub' # FIXME: move to config form = ForgotPasswordForm() if not form.validate_on_submit(): return render_template('auth/password_reset.html', form=form) @@ -71,7 +73,13 @@ def password_reset(): user = User.lookup_user_or_email(form.user_or_email.data) if user: token = ts.dumps(user.id, salt='password-reset') - print(token) + reset_link = url_for('.reset_with_token', token=token, _external=True) + reset_mail = render_template('mail/password_reset.txt', + reset_link=reset_link, + site_name=site_name, + user=user) + subject = 'Password reset on ' + site_name + send_mail(user, subject, reset_mail) return redirect(url_for('.password_reset_sent')) @bp.route('/password_reset/sent', methods=['GET', 'POST'])