diff --git a/rowers/dataprep.py b/rowers/dataprep.py index a857e0a8..07778df4 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1677,8 +1677,9 @@ def save_workout_database(f2, r, dosmooth=True, workouttype='rower', # recalculate power data if workouttype == 'rower' or workouttype == 'dynamic' or workouttype == 'slides': try: - row.erg_recalculatepower() - row.write_csv(f2, gzip=True) + if r.erg_recalculatepower: + row.erg_recalculatepower() + row.write_csv(f2, gzip=True) except: pass diff --git a/rowers/mailprocessing.py b/rowers/mailprocessing.py index fb275a11..8714a128 100644 --- a/rowers/mailprocessing.py +++ b/rowers/mailprocessing.py @@ -181,6 +181,7 @@ def make_new_workout_from_email(rower, datafile, name, cntr=0,testing=False): inboard=inboard, oarlength=oarlength, title=name, + dosmooth=rower.dosmooth, workoutsource=fileformat, notes='',impeller=impeller, ) diff --git a/rowers/models.py b/rowers/models.py index 8477e466..283cdcaf 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -1078,6 +1078,7 @@ class Rower(models.Model): verbose_name='Generate a static chart automatically on upload') dosmooth = models.BooleanField(default=True,verbose_name='Savitzky-Golay Filter (recommended)') + erg_recalculatepower = models.BooleanField(default=True,verbose_name='Erg Power from pace') # Auto Join autojoin = models.BooleanField(default=False,verbose_name='Auto Join Workout Segments') @@ -4243,7 +4244,7 @@ class StaticChartRowerForm(ModelForm): class DataRowerForm(ModelForm): class Meta: model = Rower - fields = ['dosmooth','autojoin'] + fields = ['dosmooth','erg_recalculatepower','autojoin'] class UserForm(ModelForm): class Meta: diff --git a/rowers/runkeeperstuff.py b/rowers/runkeeperstuff.py index d236d7ea..a087f7bf 100644 --- a/rowers/runkeeperstuff.py +++ b/rowers/runkeeperstuff.py @@ -517,6 +517,7 @@ def add_workout_from_data(user,importid,data,strokedata,source='runkeeper', workouttype=workouttype, workoutsource='runkeeper', title=title, + dosmooth=r.dosmooth, notes=comments) return (id,message) diff --git a/rowers/sporttracksstuff.py b/rowers/sporttracksstuff.py index 530ae998..55cf279f 100644 --- a/rowers/sporttracksstuff.py +++ b/rowers/sporttracksstuff.py @@ -488,6 +488,7 @@ def add_workout_from_data(user,importid,data,strokedata,source='sporttracks', workouttype=workouttype, title=title, notes=comments, + dosmooth=r.dosmooth, workoutsource='sporttracks') return (id,message) diff --git a/rowers/stravastuff.py b/rowers/stravastuff.py index f997798c..2cef3373 100644 --- a/rowers/stravastuff.py +++ b/rowers/stravastuff.py @@ -188,7 +188,7 @@ def set_strava_athlete_id(user): # Get list of workouts available on Strava def get_strava_workout_list(user,limit_n=0): r = Rower.objects.get(user=user) - + if (r.stravatoken == '') or (r.stravatoken is None): s = "Token doesn't exist. Need to authorize" return custom_exception_handler(401,s) @@ -725,6 +725,7 @@ def add_workout_from_data(user,importid,data,strokedata, id,message = dataprep.save_workout_database( csvfilename,r, + dosmooth=r.dosmooth, workouttype=workouttype, title=title,notes=comments, workoutsource=workoutsource, diff --git a/rowers/underarmourstuff.py b/rowers/underarmourstuff.py index 3e44d968..be44ea7f 100644 --- a/rowers/underarmourstuff.py +++ b/rowers/underarmourstuff.py @@ -537,6 +537,7 @@ def add_workout_from_data(user,importid,data,strokedata, id,message = dataprep.save_workout_database(csvfilename,r, workouttype=workouttype, workoutsource='mapmyfitness', + dosmooth=r.dosmooth, title=title, notes=comments) diff --git a/rowers/views/statements.py b/rowers/views/statements.py index 572b3f97..93cc446c 100644 --- a/rowers/views/statements.py +++ b/rowers/views/statements.py @@ -1415,6 +1415,7 @@ def add_workout_from_strokedata(user,importid,data,strokedata, id,message = dataprep.save_workout_database( csvfilename,r, workouttype=workouttype, + dosmooth=r.dosmooth, title=title,notes=comments, # totaldist=totaldist, # totaltime=totaltime, diff --git a/rowers/views/userviews.py b/rowers/views/userviews.py index 06a998e1..1ecdc2c3 100644 --- a/rowers/views/userviews.py +++ b/rowers/views/userviews.py @@ -259,14 +259,18 @@ def rower_favoritecharts_view(request,userid=0): cd = datasettingsform.cleaned_data r.autojoin = cd.get('autojoin') r.dosmooth = cd.get('dosmooth') + r.erg_recalculatepower = cd.get('erg_recalculatepower') r.save() messages.info(request,"We have updated your data settings") if request.method == 'POST' and 'defaults_data' in request.POST: defaultsmooth = Rower._meta.get_field('dosmooth').get_default() defaultautojoin = Rower._meta.get_field('autojoin').get_default() + defaultergcalcpower = Rower._meta.get_field('erg_recalculatepower').get_default() r.dosmooth = defaultsmooth r.autojoin = defaultautojoin + r.erg_recalculatepower = defaultergcalcpower + r.save() datasettingsform = DataRowerForm(instance=r) messages.info(request,"We have reset your data settings to the default values")