From 42636ed9cd341575de176d2d60011f02c21cdffe Mon Sep 17 00:00:00 2001
From: Sander Roosendaal
Date: Fri, 24 Jul 2020 10:10:42 +0200
Subject: [PATCH] adding strava auto delete
---
rowers/models.py | 2 ++
rowers/templates/rower_exportsettings.html | 5 +++++
rowers/views/importviews.py | 7 ++++---
rowers/views/userviews.py | 1 +
4 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/rowers/models.py b/rowers/models.py
index 75d44c25..e8a6f2b6 100644
--- a/rowers/models.py
+++ b/rowers/models.py
@@ -853,6 +853,7 @@ class Rower(models.Model):
strava_auto_export = models.BooleanField(default=False)
strava_auto_import = models.BooleanField(default=False)
+ strava_auto_delete = models.BooleanField(default=False)
runkeepertoken = models.CharField(default='',max_length=200,
blank=True,null=True)
runkeeper_auto_export = models.BooleanField(default=False)
@@ -3443,6 +3444,7 @@ class RowerExportForm(ModelForm):
'sporttracks_auto_export',
'strava_auto_export',
'strava_auto_import',
+ 'strava_auto_delete',
'trainingpeaks_auto_export',
]
diff --git a/rowers/templates/rower_exportsettings.html b/rowers/templates/rower_exportsettings.html
index 04382b55..ae8d53f1 100644
--- a/rowers/templates/rower_exportsettings.html
+++ b/rowers/templates/rower_exportsettings.html
@@ -57,6 +57,11 @@
Garmin Connnect has no manual sync, so connecting your account to your Garmin account will
automatically auto-sync workouts from Garmin to Rowsandall (but not in the other direction).
+
+ Strava Auto Import also imports activity changes on Strava to Rowsandall, except when you delete
+ a workout on Strava. If you want Deletions to propagate to Rowsandall, tick the Strava Auto Delete
+ check box.
+
Click on one of the icons below to connect to the service of your
choice or to renew the authorization.

diff --git a/rowers/views/importviews.py b/rowers/views/importviews.py
index 97321fff..cf332760 100644
--- a/rowers/views/importviews.py
+++ b/rowers/views/importviews.py
@@ -1098,9 +1098,10 @@ def strava_webhook_view(request):
f.write(' ')
f.write('Rower not found')
return HttpResponse(status=200)
- for w in ws:
- if w.user == r:
- w.delete()
+ if Rower.strava_auto_delete:
+ for w in ws:
+ if w.user == r:
+ w.delete()
elif aspect_type == 'update':
try:
updates = data['updates']
diff --git a/rowers/views/userviews.py b/rowers/views/userviews.py
index cef92c0b..c4819735 100644
--- a/rowers/views/userviews.py
+++ b/rowers/views/userviews.py
@@ -307,6 +307,7 @@ def rower_exportsettings_view(request,userid=0):
'sporttracks_auto_export':'sporttrackstoken',
'strava_auto_export':'stravatoken',
'strava_auto_import':'stravatoken',
+ 'strava_auto_delete':'stravatoken',
'trainingpeaks_auto_export':'tptoken',
}
r = getrequestrower(request,userid=userid)