Commit 07c07af5cef675806c16a3402baf394359a31d79
1 parent
85ddfda9
Exists in
master
Add an email template for the "request run" event.
Showing
2 changed files
with
73 additions
and
3 deletions
Show diff stats
flaskr/controllers/main_controller.py
@@ -28,7 +28,7 @@ from flaskr.core import ( | @@ -28,7 +28,7 @@ from flaskr.core import ( | ||
28 | get_emission_models, | 28 | get_emission_models, |
29 | increment_hit_counter, | 29 | increment_hit_counter, |
30 | ) | 30 | ) |
31 | -from flaskr.content import content | 31 | +from flaskr.content import content, base_url |
32 | 32 | ||
33 | from wtforms import validators | 33 | from wtforms import validators |
34 | 34 | ||
@@ -51,7 +51,6 @@ OUT_ENCODING = 'utf-8' | @@ -51,7 +51,6 @@ OUT_ENCODING = 'utf-8' | ||
51 | 51 | ||
52 | pi_email = "didier.barret@irap.omp.eu" # todo: move to content YAML or .env | 52 | pi_email = "didier.barret@irap.omp.eu" # todo: move to content YAML or .env |
53 | # pi_email = "goutte@protonmail.com" | 53 | # pi_email = "goutte@protonmail.com" |
54 | -base_url = "https://travel-footprint-calculator.irap.omp.eu/" | ||
55 | 54 | ||
56 | # ----------------------------------------------------------------------------- | 55 | # ----------------------------------------------------------------------------- |
57 | 56 | ||
@@ -243,7 +242,11 @@ def estimate(): # register new estimation request, more accurately | @@ -243,7 +242,11 @@ def estimate(): # register new estimation request, more accurately | ||
243 | send_email( | 242 | send_email( |
244 | to_recipient=pi_email, | 243 | to_recipient=pi_email, |
245 | subject="[TCFM] New Estimation Request: %s" % estimation.public_id, | 244 | subject="[TCFM] New Estimation Request: %s" % estimation.public_id, |
246 | - message="TODO" | 245 | + message=render_template( |
246 | + 'email/run_requested.html', | ||
247 | + base_url=base_url, | ||
248 | + estimation=estimation, | ||
249 | + ) | ||
247 | ) | 250 | ) |
248 | 251 | ||
249 | flash("Estimation request submitted successfully.", "success") | 252 | flash("Estimation request submitted successfully.", "success") |
@@ -0,0 +1,67 @@ | @@ -0,0 +1,67 @@ | ||
1 | +{% extends "email/base.html" %} | ||
2 | + | ||
3 | +{% block content %} | ||
4 | +<p> | ||
5 | + The run | ||
6 | +{% if estimation.run_name %} | ||
7 | + <strong>"{{ estimation.run_name }}"</strong> | ||
8 | +{% endif %} | ||
9 | + <code>{{ estimation.public_id }}</code> has been requested. | ||
10 | + | ||
11 | + It will be | ||
12 | + <strong><a href="{{ estimation.link }}">available here</a></strong> | ||
13 | + when it's done. | ||
14 | +</p> | ||
15 | + | ||
16 | +<hr> | ||
17 | + | ||
18 | +{# Styles are embedded, because that's how it works with emailing. #} | ||
19 | + | ||
20 | +<table> | ||
21 | + <tbody> | ||
22 | + <tr> | ||
23 | + <td style="padding-right: 30px;"> | ||
24 | + Author | ||
25 | + </td> | ||
26 | + <td> | ||
27 | + <pre>{{ estimation.author_name }}</pre> | ||
28 | + </td> | ||
29 | + </tr> | ||
30 | + <tr> | ||
31 | + <td style="padding-right: 30px;"> | ||
32 | + {{ estimation.origins_count }} | ||
33 | + Origin{% if estimation.origins_count > 1 %}s{% endif %} | ||
34 | + </td> | ||
35 | + <td> | ||
36 | + <pre> | ||
37 | + | ||
38 | +{{ estimation.origin_addresses | truncate(1024, true, '…') }} | ||
39 | + </pre> | ||
40 | + </td> | ||
41 | + </tr> | ||
42 | + <tr> | ||
43 | + <td style="padding-right: 30px;"> | ||
44 | + {{ estimation.destinations_count }} | ||
45 | + Destination{% if estimation.destinations_count > 1 %}s{% endif %} | ||
46 | + </td> | ||
47 | + <td> | ||
48 | + <pre> | ||
49 | + | ||
50 | +{{ estimation.destination_addresses | truncate(1024, true, '…') }} | ||
51 | + </pre> | ||
52 | + </td> | ||
53 | + </tr> | ||
54 | + <tr> | ||
55 | + <td style="padding-right: 30px;"> | ||
56 | + Models | ||
57 | + </td> | ||
58 | + <td> | ||
59 | + <pre> | ||
60 | + | ||
61 | +{{ estimation.models_slugs }} | ||
62 | + </pre> | ||
63 | + </td> | ||
64 | + </tr> | ||
65 | + </tbody> | ||
66 | +</table> | ||
67 | +{% endblock %} |