Implement "Send me an email" button on final extension onboarding
This commit is contained in:
parent
3872626747
commit
933237e73b
|
@ -1,9 +1,26 @@
|
||||||
|
from app.extensions import limiter
|
||||||
from app.onboarding.base import onboarding_bp
|
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():
|
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(
|
return render_template(
|
||||||
"onboarding/final.html",
|
"onboarding/final.html",
|
||||||
|
form=form,
|
||||||
)
|
)
|
||||||
|
|
|
@ -15,7 +15,20 @@
|
||||||
|
|
||||||
<!-- Text container -->
|
<!-- Text container -->
|
||||||
<div class="mt-8 mb-4 text-center">
|
<div class="mt-8 mb-4 text-center">
|
||||||
<h2 class="text-red" style="font-size:2rem">All set!</h2>
|
<h2 class="text-black-50" style="font-size:2rem">Quickly create an alias every time you need an email</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Input + button container -->
|
||||||
|
<div class="mt-8" style="display: grid; place-items: center;">
|
||||||
|
<div style="width: 25rem; display: block">
|
||||||
|
<form method="post">
|
||||||
|
{{ 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) }}
|
||||||
|
<button type="submit" class="p-4 mt-2 text-decoration-none" style="background:black;color:white; width:10rem">Send me an email</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue