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.

connect with strava

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)