From c59e951033116840b6de6e5ae0509b47f0b1e2bc Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Wed, 13 Oct 2021 19:45:48 +0200 Subject: [PATCH] adding email conf --- rowers/tasks.py | 39 +++++++++++++++++++- rowers/templates/trajectorysuccessemail.html | 18 +++++++++ rowers/views/workoutviews.py | 3 +- 3 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 rowers/templates/trajectorysuccessemail.html diff --git a/rowers/tasks.py b/rowers/tasks.py index e48830c6..dd10c722 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -515,7 +515,6 @@ def handle_check_race_course(self, logfile = 'courselog_{workoutid}_{courseid}.log'.format(workoutid=workoutid,courseid=courseid) - if 'debug' in kwargs: # pragma: no cover debug = kwargs['debug'] else: @@ -544,6 +543,10 @@ def handle_check_race_course(self, if 'summary' in kwargs: summary = kwargs['summary'] + successemail = False + if 'successemail' in kwargs: + successemail = kwargs['successemail'] + columns = ['time',' latitude',' longitude','cum_dist'] try: @@ -742,7 +745,6 @@ def handle_check_race_course(self, result = conn.execute(query) if summary: - try: row = rdata(csvfile=f1) except IOError: # pragma: no cover @@ -771,6 +773,11 @@ def handle_check_race_course(self, conn.close() engine.dispose() + if successemail: + handle_sendemail_coursesucceed( + useremail, userfirstname, logfile, workoutid + ) + os.remove(logfile) return 1 @@ -825,6 +832,8 @@ def handle_check_race_course(self, return 2 + + return 0 # pragma: no cover @@ -1463,6 +1472,32 @@ def handle_sendemail_raceregistration( return 1 +def handle_sendemail_coursesucceed( + useremail, username, logfile, workoutid, **kwargs +): + if 'debug' in kwargs: # pragma: no cover + debug = kwargs['debug'] + else: + debug = True + + subject = "The validation of your course has succeeded" + + from_email = 'Rowsandall ' + + d = { + 'username':username, + 'workoutid':encoder.encode_hex(workoutid), + } + + res = send_template_email(from_email,[useremail], + subject, + 'trajectorysuccessemail.html', + d, + attach_file=logfile, + **kwargs) + + return 1 + def handle_sendemail_coursefail( useremail, username, logfile, **kwargs): diff --git a/rowers/templates/trajectorysuccessemail.html b/rowers/templates/trajectorysuccessemail.html new file mode 100644 index 00000000..f6384bab --- /dev/null +++ b/rowers/templates/trajectorysuccessemail.html @@ -0,0 +1,18 @@ +{% extends "emailbase.html" %} +{% block body %} +

Dear {{ username }},

+ +

+ We have successfully validated the course for your + workout. +

+ + +

+ The attachment contains the validation log. +

+ +

+ Best Regards, the Rowsandall Team +

+{% endblock %} diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index a01fecb4..06b7e6d5 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -6218,7 +6218,7 @@ def workout_summary_edit_view(request,id,message="",successmessage="" record.save() job = myqueue( - queue, + queuehigh, handle_check_race_course, row.csvfilename, row.id, @@ -6227,6 +6227,7 @@ def workout_summary_edit_view(request,id,message="",successmessage="" r.user.email, r.user.first_name, summary=True, + successemail=True, ) messages.info(request,'We are checking your time on the course in the background')