diff --git a/rowers/datautils.py b/rowers/datautils.py index 426005da..afef0d63 100644 --- a/rowers/datautils.py +++ b/rowers/datautils.py @@ -444,13 +444,14 @@ def getfastest(df,thevalue,mode='distance'): starttime = griddata(distance,starttimes,[thevalue],method='linear',rescale=True) distance = griddata(distance,distance,[thevalue],method='linear',rescale=True) endtime = starttime+duration - print(duration,starttime,endtime) + #print(duration,starttime,endtime,'aa') return duration[0]/1000.,starttime[0]/1000.,endtime[0]/1000. else: distance = griddata(restime,distance,[thevalue*60*1000],method='linear',rescale=True) starttime = griddata(restime,starttimes,[thevalue*60*1000],method='linear',rescale=True) duration = griddata(restime,restime,[thevalue*60*1000],method='linear',rescale=True) endtime = starttime+duration + #print(distance,starttime,endtime ) return distance[0],starttime[0]/1000.,endtime[0]/1000. return 0 diff --git a/rowers/templates/plannedsessionview.html b/rowers/templates/plannedsessionview.html index eefc22d1..8dc378e4 100644 --- a/rowers/templates/plannedsessionview.html +++ b/rowers/templates/plannedsessionview.html @@ -59,7 +59,11 @@ {% if result|lookup:'coursecompleted' %} {{ forloop.counter }} - {{ result|lookup:'name' }} + + + {{ result|lookup:'name' }} + + {{ result|lookup:'distance' }} {{ result|lookup:'time'|deltatimeprint }} {{ result|lookup:'date'|date:"Y-m-d" }} diff --git a/rowers/urls.py b/rowers/urls.py index 520aeffa..f67379d8 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -455,6 +455,7 @@ urlpatterns = [ re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/split/$',views.workout_split_view,name='workout_split_view'), # re_path(r'^workout/(?P\d+)/interactiveplot/$',views.workout_biginteractive_view), re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/view/entry/(?P\d+)/$',views.workout_view,name='workout_view'), + re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/view/session/(?P\d+)/$',views.workout_view,name='workout_view'), re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/view/$',views.workout_view,name='workout_view'), re_path(r'^workout/(?P\b[0-9A-Fa-f]+\b)/video/$',views.workout_video_create_view, name='workout_video_create_view'), diff --git a/rowers/views/planviews.py b/rowers/views/planviews.py index d2cb7ef0..e61ce15b 100644 --- a/rowers/views/planviews.py +++ b/rowers/views/planviews.py @@ -1931,6 +1931,8 @@ def plannedsession_view(request,id=0,userid=0): 'time': dddelta, 'type': w.workouttype, 'coursecompleted':True, + 'sessionresult':0, + 'workoutid':w.id, } if ps.sessiontype == 'coursetest': vs = CourseTestResult.objects.filter(plannedsession=ps, @@ -1950,6 +1952,7 @@ def plannedsession_view(request,id=0,userid=0): ) wdict['distance'] = int(round(coursemeters)) wdict['coursecompleted'] = coursecompleted + wdict['sessionresult'] = record.id else: record = CourseTestResult( userid=w.user.id, @@ -1994,7 +1997,9 @@ def plannedsession_view(request,id=0,userid=0): 'date': w.date, 'distance': record.distance, 'type': w.workouttype, + 'workoutid':w.id, 'coursecompleted':True, + 'sessionresult':record.id } coursecompleted = record.coursecompleted @@ -2027,7 +2032,9 @@ def plannedsession_view(request,id=0,userid=0): 'date': w.date, 'distance': record.distance, 'type': w.workouttype, + 'workoutid':w.id, 'coursecompleted':True, + 'sessionresult':record.id, } coursecompleted = record.coursecompleted diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index 00cada4c..7da9c086 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -2323,7 +2323,7 @@ def workout_fusion_list(request,id=0, # Basic view of workout @permission_required('workout.view_workout',fn=get_workout_by_opaqueid,raise_exception=True) -def workout_view(request,id=0,raceresult=0): +def workout_view(request,id=0,raceresult=0,sessionresult=0): request.session['referer'] = absolute(request)['PATH'] if not request.user.is_anonymous: @@ -2352,8 +2352,27 @@ def workout_view(request,id=0,raceresult=0): except: pass - # get raceresult + # get raceresult or session result intervaldata = {} + if sessionresult != 0: + try: + result = CourseTestResult.objects.get(id=sessionresult) + startsecond = result.startsecond + endsecond = result.endsecond + duration = row.duration + durationsecs = duration.hour*3600+duration.minute*60+duration.second + itime = [startsecond,endsecond-startsecond] + itype = [3,4] + intervaldata['itime'] = itime + intervaldata['itype'] = itype + + rowdata.updateinterval_metric(' AverageBoatSpeed (m/s)',0.1,mode='larger', + debug=False,smoothwindow=15., + activewindow = [startsecond,endsecond]) + summary = rowdata.allstats() + except CourseTestResult.DoesNotExist: + pass + if raceresult != 0: try: result = VirtualRaceResult.objects.get(id=raceresult)