diff --git a/rowers/templates/instroke_analysis.html b/rowers/templates/instroke_analysis.html
index c63273d3..d16e352c 100644
--- a/rowers/templates/instroke_analysis.html
+++ b/rowers/templates/instroke_analysis.html
@@ -51,7 +51,8 @@
Workout
- {{ analysis.workout }}
+ {{ analysis.workout.name }}
+ {{ analysis.workout.date }}, {{ analysis.workout.distance }}m
Metric
@@ -69,6 +70,11 @@
Time
{{ analysis.start_second|secondstotimestring }} - {{ analysis.end_second|secondstotimestring }}
+
+ Avg Pace
+ {{ analysis.average_boatspeed|velotopace }}
+
+
{% endfor %}
diff --git a/rowers/templatetags/rowerfilters.py b/rowers/templatetags/rowerfilters.py
index 5faae199..ba04a374 100644
--- a/rowers/templatetags/rowerfilters.py
+++ b/rowers/templatetags/rowerfilters.py
@@ -10,7 +10,7 @@ import math
import datetime
import re
-from rowers.utils import calculate_age
+from rowers.utils import calculate_age, to_pace
from rowers.models import (
course_length, WorkoutComment,
TrainingMacroCycle, TrainingMesoCycle, TrainingMicroCycle,
@@ -491,6 +491,14 @@ def previousperiodstart(timeperiod):
return newstartdate.strftime("%Y-%m-%d")
+@register.filter
+def velotopace(v):
+ if v > 0:
+ time500 = 500./v
+ return to_pace(time500)
+
+ return ""
+
@register.filter
def paceprint(d):
diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py
index 8910930d..9b4658de 100644
--- a/rowers/views/workoutviews.py
+++ b/rowers/views/workoutviews.py
@@ -3039,7 +3039,7 @@ def instroke_chart_interactive(request, id=0, analysis=0, userid=0):
div = get_call()
-
+ dosave = False
if request.method == 'POST':
form = InstrokeForm(request.POST,choices=instrokemetrics)
if form.is_valid():
@@ -3079,6 +3079,7 @@ def instroke_chart_interactive(request, id=0, analysis=0, userid=0):
instroke_analysis.rower=w.user
instroke_analysis.save()
+ dosave = True
messages.info(request,'In-Stroke Analysis saved')
@@ -3097,6 +3098,7 @@ def instroke_chart_interactive(request, id=0, analysis=0, userid=0):
)
instroke_analysis.save()
+ dosave = True
messages.info(request,'In-Stroke Analysis saved')
@@ -3141,6 +3143,9 @@ def instroke_chart_interactive(request, id=0, analysis=0, userid=0):
if totaltime > 0:
avg_speed = totaldist/totaltime
+ if dosave:
+ instroke_analysis.average_boatspeed = avg_speed
+ instroke_analysis.save()
intervaldata = {
'itime': itime,
diff --git a/static/css/rowsandall2.css b/static/css/rowsandall2.css
index 708a467f..11026c9f 100644
--- a/static/css/rowsandall2.css
+++ b/static/css/rowsandall2.css
@@ -402,7 +402,7 @@ th.rotate > div > span {
.analysiscontainer {
display: grid;
- grid-template-columns: 50px repeat(auto-fit, minmax(calc((100% - 100px)/7), 1fr));
+ grid-template-columns: 50px repeat(auto-fit, minmax(calc((100% - 100px)/8), 1fr));
/* grid-template-columns: 50px repeat(auto-fit, minmax(100px, 1fr)) 50px; ????*/
padding: 5px;
margin: 0px;