diff --git a/rowers/models.py b/rowers/models.py index 2f8c8844..1201fdd6 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -2536,6 +2536,7 @@ class Workout(models.Model): max_length=100) distance = models.IntegerField(default=0,blank=True) duration = models.TimeField(default=1,blank=True) + dragfactor = models.IntegerField(default=0,blank=True) trimp = models.IntegerField(default=-1,blank=True) rscore = models.IntegerField(default=-1,blank=True) hrtss = models.IntegerField(default=-1,blank=True) @@ -2960,6 +2961,7 @@ class WorkoutForm(ModelForm): 'distance', 'workouttype', 'boattype', + 'dragfactor', 'weightcategory', 'adaptiveclass', 'notes', diff --git a/rowers/templates/workout_form.html b/rowers/templates/workout_form.html index 047a8a2c..40346ee1 100644 --- a/rowers/templates/workout_form.html +++ b/rowers/templates/workout_form.html @@ -32,7 +32,18 @@ $( document ).ready(function() { } else { $('#id_boattype').toggle(false); $('#id_boattype').val('1x'); - } +} + if ( + $(this).val() == 'rower' + || $(this).val() == 'dynamic' + || $(this).val() == 'slides' + ) { + $('#id_dragfactor').toggle(true); + } else { + $('#id_dragfactor').toggle(false); + $('#id_dragfactor').val('0'); +} + }); $('#id_workouttype').change(); }); diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index d5ca9e42..c95cfdda 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -3345,6 +3345,7 @@ def workout_edit_view(request,id=0,message="",successmessage=""): distance = form.cleaned_data['distance'] private = form.cleaned_data['private'] notes = form.cleaned_data['notes'] + newdragfactor = form.cleaned_data['dragfactor'] thetimezone = form.cleaned_data['timezone'] try: @@ -3416,6 +3417,11 @@ def workout_edit_view(request,id=0,message="",successmessage=""): row.timezone = thetimezone row.plannedsession = ps + dragchanged = False + if newdragfactor != row.dragfactor: + row.dragfactor = newdragfactor + dragchanged = True + try: row.save() except IntegrityError: @@ -3427,6 +3433,12 @@ def workout_edit_view(request,id=0,message="",successmessage=""): # change data in csv file r = rdata(row.csvfilename) + if dragchanged: + try: + r.change_drag(newdragfactor) + except AttributeError: + pass + if r == 0: return HttpResponse("Error: CSV Data File Not Found") r.rowdatetime = startdatetime