diff --git a/rowers/management/commands/setstravaprivate.py b/rowers/management/commands/setstravaprivate.py new file mode 100644 index 00000000..c90c8f3f --- /dev/null +++ b/rowers/management/commands/setstravaprivate.py @@ -0,0 +1,38 @@ +#!/srv/venv/bin/python +import sys +import os +from django.core.management.base import BaseCommand, CommandError +from django.conf import settings + +import time + +from rowers.models import ( + Workout, User, Rower, WorkoutForm, + RowerForm, GraphImage, AdvancedWorkoutForm) +from django.core.files.base import ContentFile + +from rowsandall_app.settings import BASE_DIR + +from rowers.dataprep import * + +# If you find a solution that does not need the two paths, please comment! +sys.path.append('$path_to_root_of_project$') +sys.path.append('$path_to_root_of_project$/$project_name$') + +os.environ['DJANGO_SETTINGS_MODULE'] = '$project_name$.settings' + + +class Command(BaseCommand): + def handle(self, *args, **options): + # find all Workout instances with uploadedtostrava not 0 or None, workoutsource not 'strava' + workouts = Workout.objects.filter(uploadedtostrava__gt=0) + # report the number of workouts found to the console + self.stdout.write(self.style.SUCCESS('Found {} Strava workouts.'.format(workouts.count()))) + # set workout.privacy to hidden and workout.workoutsource to 'strava, report percentage complete to console' + for workout in workouts: + workout.privacy = 'hidden' + workout.workoutsource = 'strava' + workout.save() + self.stdout.write(self.style.SUCCESS('Set workout {} private.'.format(workout.id))) + + self.stdout.write(self.style.SUCCESS('Successfully set all Strava data private.')) diff --git a/rowers/models.py b/rowers/models.py index 8f50cff9..89069ca1 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -1241,7 +1241,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) + strava_auto_delete = models.BooleanField(default=True) intervals_token = models.CharField( default='', max_length=200, blank=True, null=True) diff --git a/rowers/templates/rower_exportsettings.html b/rowers/templates/rower_exportsettings.html index 7056a2c7..35c5b974 100644 --- a/rowers/templates/rower_exportsettings.html +++ b/rowers/templates/rower_exportsettings.html @@ -154,8 +154,9 @@
Warning: API restrictions!
+ + {{ forms.strava.as_p }}Strava Auto Import also imports activity changes on Strava to Rowsandall, except when you delete