diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index a5e49ab5..b31f7bac 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -5680,6 +5680,10 @@ def workout_summary_edit_view(request,id,message="",successmessage="" value_spm = request.POST['value_spm'] activeminutesmin = request.POST['activeminutesmin'] activeminutesmax = request.POST['activeminutesmax'] + activesecondsmin = 60.*activeminutesmin + activesecondsmax = 60.*activeminutesmax + if abs(rowdata.duration-activesecondsmax) < 60.: + activesecondsmax = rowdata.duration if powerorpace == 'power': try: power = int(value_power) @@ -5708,7 +5712,9 @@ def workout_summary_edit_view(request,id,message="",successmessage="" try: rowdata.updateinterval_metric( ' Power (watts)',power,mode='larger', - debug=False,smoothwindow=15.) + debug=False,smoothwindow=15., + activewindow=[activesecondsmin,activesecondsmax], + ) except: messages.error(request,'Error updating power') elif powerorpace == 'pace': @@ -5716,14 +5722,18 @@ def workout_summary_edit_view(request,id,message="",successmessage="" velo = 500./pace_secs rowdata.updateinterval_metric( ' AverageBoatSpeed (m/s)',velo,mode='larger', - debug=False,smoothwindow=15.) + debug=False,smoothwindow=15., + activewindow=[activesecondsmin,activesecondsmax], + ) except: messages.error(request,'Error updating pace') elif powerorpace == 'work': try: rowdata.updateinterval_metric( 'driveenergy',work,mode='larger', - debug=False,smoothwindow=15.) + debug=False,smoothwindow=15., + activewindow=[activesecondsmin,activesecondsmax], + ) except: messages.error(request,'Error updating Work per Stroke') elif powerorpace == 'spm': @@ -5731,7 +5741,8 @@ def workout_summary_edit_view(request,id,message="",successmessage="" print('aap') rowdata.updateinterval_metric( ' Cadence (stokes/min)',spm,mode='larger', - debug=False,smoothwindow=2.) + debug=False,smoothwindow=2., + activewindow=[activesecondsmin,activesecondsmax],) except: messages.error(request,'Error updating SPM') @@ -5818,35 +5829,44 @@ def workout_summary_edit_view(request,id,message="",successmessage="" spm = cd['spm'] activeminutesmin = cd['activeminutesmin'] activeminutesmax = cd['activeminutesmax'] + activesecondsmin = 60.*activeminutesmin + activesecondsmax = 60.*activeminutesmax + if abs(rowdata.duration-activesecondsmax) < 60.: + activesecondsmax = rowdata.duration try: pace_secs = pace.seconds+pace.microseconds/1.0e6 except AttributeError: pace_secs = 120. if powerorpace == 'power' and power is not None: - try: - rowdata.updateinterval_metric(' Power (watts)',power,mode='larger', - debug=False,smoothwindow=15) - except: - messages.error(request,'Error updating power') + rowdata.updateinterval_metric(' Power (watts)',power,mode='larger', + debug=False,smoothwindow=15, + activewindow=[activesecondsmin,activesecondsmax], + ) + elif powerorpace == 'pace': try: velo = 500./pace_secs rowdata.updateinterval_metric(' AverageBoatSpeed (m/s)',velo,mode='larger', - debug=False,smoothwindow=15) + debug=False,smoothwindow=15, + activewindow=[activesecondsmin,activesecondsmax], + ) except: messages.error(request,'Error updating pace') elif powerorpace == 'work': try: rowdata.updateinterval_metric( 'driveenergy',work,mode='larger', - debug=False,smoothwindow=15.) + debug=False,smoothwindow=15., + activewindow=[activesecondsmin,activesecondsmax],) except: messages.error(request,'Error updating Work per Stroke') elif powerorpace == 'spm': try: rowdata.updateinterval_metric(' Cadence (stokes/min)',spm,mode='larger', - debug=False,smoothwindow=2.) + debug=False,smoothwindow=2., + activewindow=[activesecondsmin,activesecondsmax], + ) except: print('mies') messages.error(request,'Error updating SPM')