From 933237e73b1c1759a060345918edceca29a5e3e3 Mon Sep 17 00:00:00 2001 From: Carlos Quintana Date: Fri, 13 May 2022 08:51:58 +0200 Subject: [PATCH] Implement "Send me an email" button on final extension onboarding --- app/onboarding/views/final.py | 21 +++++++++++++++++++-- templates/onboarding/final.html | 15 ++++++++++++++- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/app/onboarding/views/final.py b/app/onboarding/views/final.py index 30a6aca0..921daffe 100644 --- a/app/onboarding/views/final.py +++ b/app/onboarding/views/final.py @@ -1,9 +1,26 @@ +from app.extensions import limiter from app.onboarding.base import onboarding_bp -from flask import render_template +from app.email_utils import send_test_email_alias +from flask import render_template, request, flash +from flask_login import current_user, login_required +from flask_wtf import FlaskForm +from wtforms import StringField, validators -@onboarding_bp.route("/final", methods=["GET"]) +class SendEmailForm(FlaskForm): + email = StringField("Email", validators=[validators.DataRequired()]) + + +@onboarding_bp.route("/final", methods=["GET", "POST"]) +@login_required +@limiter.limit("10/minute") def final(): + form = SendEmailForm(request.form) + if form.validate_on_submit(): + send_test_email_alias(form.email.data, current_user.name) + flash("We have sent a test e-mail to your alias", "success") + return render_template( "onboarding/final.html", + form=form, ) diff --git a/templates/onboarding/final.html b/templates/onboarding/final.html index ee171e1f..b67c3cd8 100644 --- a/templates/onboarding/final.html +++ b/templates/onboarding/final.html @@ -15,7 +15,20 @@
-

All set!

+

Quickly create an alias every time you need an email

+
+ + + +
+
+
+ {{ form.csrf_token }} + {{ form.email(class="p-3", type="email", autofocus="true", placeholder="email", style="border: 2px solid black; border-radius: 2px; width:100%") }} + {{ render_field_errors(form.email) }} + +
+