send the password reset e-mail
This commit is contained in:
parent
2f6fa5816f
commit
ddf00a0ab7
|
@ -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'])
|
||||
|
|
Loading…
Reference in a new issue