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)