diff --git a/rowers/tasks.py b/rowers/tasks.py
index 3f5be55a..2349eade 100644
--- a/rowers/tasks.py
+++ b/rowers/tasks.py
@@ -311,55 +311,43 @@ def handle_sendemail_breakthrough(workoutid, useremail,
btvalues=pd.DataFrame().to_json(),
**kwargs):
+ if 'debug' in kwargs:
+ debug = kwargs['debug']
+ else:
+ debug = False
+
siteurl = SITE_URL
if debug:
siteurl = SITE_URL_DEV
- # send email with attachment
- subject = "A breakthrough workout on rowsandall.com"
- message = "Dear " + userfirstname + ",\n"
- message += "Congratulations! Your recent workout has been analyzed"
- message += " by Rowsandall.com and it appears your fitness,"
- message += " as measured by Critical Power, has improved!"
- message += " Critical Power (CP) is the power that you can "
- message += "sustain for a given duration. For more, see this "
- message += " article in the analytics blog:\n\n"
- message += " http://analytics.rowsandall.com/2017/06/17/how-do-we-calculate-critical-power/ \n\n"
- message += "Link to the workout "+siteurl+"/rowers/workout/"
- message += str(workoutid)
- message += "/edit\n\n"
- message += "To add the workout to your Ranking workouts and see the updated CP plot, click the following link:\n"
- message += siteurl+"/rowers/workout/"
- message += str(workoutid)
- message += "/updatecp\n\n"
-
btvalues = pd.read_json(btvalues)
btvalues.sort_values('delta', axis=0, inplace=True)
- if not btvalues.empty:
- message += "These were the breakthrough values:\n"
- for t in btvalues.itertuples():
- delta = t.delta
- cpvalue = t.cpvalues
- pwr = t.pwr
+ tablevalues = [
+ {'delta': t.delta,
+ 'cpvalue': t.cpvalues,
+ 'pwr': t.pwr
+ } for t in btvalues.itertuples()
+ ]
- message += "Time: {delta} seconds\n".format(
- delta=delta
- )
- message += "New: {cpvalue:.0f} Watt\n".format(
- cpvalue=cpvalue
- )
- message += "Old: {pwr:.0f} Watt\n\n".format(
- pwr=pwr
- )
+ # send email with attachment
+ subject = "A breakthrough workout on rowsandall.com"
+ from_email = 'Rowsandall Dear {{ first_name }},
+ Congratulations! Your recent workout has been analyzed
+ by Rowsandall.com and it appears your fitness,
+ as measured by Critical Power, has improved!
+ Critical Power (CP) is the power that you can
+ sustain for a given duration. For more, see this
+ article in the analytics blog:
+
+
+ http://analytics.rowsandall.com/2017/06/17/how-do-we-calculate-critical-power/
+
+ Link to the workout:
+ {{ siteurl }}/rowers/workout/{{ workoutid }}
+
+ To add the workout to your Ranking workouts and see the updated CP plot,
+ click the following link:
+
+
+ {{ siteurl }}/rowers/workout/{{ workoutid }}/updatecp
+
+ These were the breakthrough values:
+
+
+
+
+
+
+ {% for set in btvalues %}
+ Time (sec) New Power (W) Old Power
+
+
+ {% endfor %}
+ {{ set|lookup:"delta" }}
+ {{ set|lookup:"cpvalue" }}
+ {{ set|lookup:"pwr" }}
+
+ To opt out of these email notifications, deselect the checkbox on your Profile + page under Account Information. +
+ ++ Best Regards, the Rowsandall Team +
+ + diff --git a/rowers/templates/csvemail.html b/rowers/templates/csvemail.html index 95d44006..89b9b267 100644 --- a/rowers/templates/csvemail.html +++ b/rowers/templates/csvemail.html @@ -1,6 +1,6 @@ -
+
Dear {{ first_name }},