Commit 3e6505e2fa2da4f57e88c7bad02f49a133851734

Authored by Antoine Goutenoir
1 parent 04d423cb
Exists in master

Add content to the emails sent.

We use jinja's templates as well there, for convenience.
flaskr/controllers/main_controller.py
... ... @@ -49,7 +49,9 @@ OUT_ENCODING = 'utf-8'
49 49  
50 50 # -----------------------------------------------------------------------------
51 51  
52   -pi_email = "didier.barret@irap.omp.eu" # todo: move to content YAML
  52 +pi_email = "didier.barret@irap.omp.eu" # todo: move to content YAML or .env
  53 +# pi_email = "goutte@protonmail.com"
  54 +base_url = "https://travel-footprint-calculator.irap.omp.eu/"
53 55  
54 56 # -----------------------------------------------------------------------------
55 57  
... ... @@ -240,7 +242,7 @@ def estimate(): # register new estimation request, more accurately
240 242  
241 243 send_email(
242 244 to_recipient=pi_email,
243   - subject="[TCFM] New Estimation: %s" % estimation.public_id,
  245 + subject="[TCFM] New Estimation Request: %s" % estimation.public_id,
244 246 message="TODO"
245 247 )
246 248  
... ... @@ -292,6 +294,15 @@ def compute(): # process the queue of estimation requests
292 294 _estimation.status = StatusEnum.failure
293 295 _estimation.errors = _failure_message
294 296 db.session.commit()
  297 + send_email(
  298 + to_recipient=pi_email,
  299 + subject="[TCFM] Run failed: %s" % _estimation.public_id,
  300 + message=render_template(
  301 + 'email/run_failed.html',
  302 + base_url=base_url,
  303 + estimation=_estimation,
  304 + )
  305 + )
295 306  
296 307 def _handle_warning(_estimation, _warning_message):
297 308 if not _estimation.warnings:
... ... @@ -668,11 +679,16 @@ def compute(): # process the queue of estimation requests
668 679 send_email(
669 680 to_recipient=pi_email,
670 681 subject="[TCFM] Run completed: %s" % estimation.public_id,
671   - message="TODO"
  682 + message=render_template(
  683 + 'email/run_completed.html',
  684 + base_url=base_url,
  685 + estimation=estimation,
  686 + )
672 687 )
673 688  
674 689 # FINALLY, RESPOND ####################################################
675 690  
  691 + # YAML is too expensive, let's not
676 692 # response += yaml_dump(results) + "\n"
677 693  
678 694 return _respond(response)
... ... @@ -804,7 +820,7 @@ def dev_test():
804 820 import os
805 821  
806 822 # email_content = render_template(
807   - # 'new_run.email.html',
  823 + # 'email/run_completed.html',
808 824 # # run=run,
809 825 # )
810 826 # send_email(
... ...
flaskr/templates/email/base.html 0 → 100644
... ... @@ -0,0 +1,13 @@
  1 +{% block content %}{% endblock %}
  2 +
  3 +{% block footer %}
  4 +<p>
  5 + Thank you for using the
  6 + <em>Travel Carbon Footprint Metacalculator</em>.
  7 +</p>
  8 +
  9 +<p>
  10 + – Sincerely,
  11 + <em>The Travel Carbon Footprint Metacalculator Team.</em>
  12 +</p>
  13 +{% endblock %}
... ...
flaskr/templates/email/run_completed.html 0 → 100644
... ... @@ -0,0 +1,12 @@
  1 +{% extends "email/base.html" %}
  2 +
  3 +{% block content %}
  4 +<p>
  5 + Good news!
  6 +
  7 + The run <code>{{ estimation.public_id }}</code> has completed successfully.
  8 +
  9 + It is
  10 + <strong><a href="{{ base_url }}/estimation/{{ estimation.public_id }}.html">available here</a></strong>.
  11 +</p>
  12 +{% endblock %}
... ...
flaskr/templates/email/run_failed.html 0 → 100644
... ... @@ -0,0 +1,23 @@
  1 +{% extends "email/base.html" %}
  2 +
  3 +{% block content %}
  4 +<p>
  5 + OH, SNAP!
  6 +
  7 + The run <code>{{ estimation.public_id }}</code> has failed.
  8 +</p>
  9 +
  10 +<p>
  11 + Here's an excerpt of the caught errors: <br>
  12 +
  13 + <pre style="color: darkred">
  14 +{{ estimation.errors }}
  15 + </pre>
  16 +
  17 + <br>
  18 + <br>
  19 +
  20 + You can know more
  21 + <strong><a href="{{ base_url }}/estimation/{{ estimation.public_id }}.html">on its page</a></strong>.
  22 +</p>
  23 +{% endblock %}
... ...