diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py index 932198aa..c17283a9 100644 --- a/rowers/interactiveplots.py +++ b/rowers/interactiveplots.py @@ -698,12 +698,14 @@ def interactive_forcecurve(theworkouts,workstrokesonly=False): return [script,div,js_resources,css_resources] -def fitnessmetric_chart(fitnessmetrics,user,workoutmode='rower'): +def fitnessmetric_chart(fitnessmetrics,user,workoutmode='rower',startdate=None, + enddate=None): power4min = [int(m.PowerFourMin) for m in fitnessmetrics] power2k = [int(m.PowerTwoK) for m in fitnessmetrics] power1hr = [int(m.PowerOneHour) for m in fitnessmetrics] dates = [m.date for m in fitnessmetrics] + mode = [m.workoutmode for m in fitnessmetrics] if len(power4min) == 0: @@ -772,7 +774,6 @@ def fitnessmetric_chart(fitnessmetrics,user,workoutmode='rower'): ) - TOOLS = 'save,pan,box_zoom,wheel_zoom,reset,tap,hover,crosshair' @@ -833,6 +834,15 @@ def fitnessmetric_chart(fitnessmetrics,user,workoutmode='rower'): plot.sizing_mode = 'scale_width' plot.y_range = Range1d(0,1.5*max(power4min)) + if not startdate: + startdate = min(date) + + if not enddate: + enddate = max(date) + + plot.x_range = Range1d( + startdate,enddate, + ) plot.title.text = 'Power levels ('+workoutmode+') from workouts '+user.first_name hover = plot.select(dict(type=HoverTool)) diff --git a/rowers/models.py b/rowers/models.py index a4fa5447..2f8c8844 100644 --- a/rowers/models.py +++ b/rowers/models.py @@ -1057,9 +1057,14 @@ def checkviewworkouts(user,rower): if rower == r: return True teams = Team.objects.filter(manager=user) - print(Rower.objects.filter(team__in=teams)) + if rower in Rower.objects.filter(team__in=teams): return True + + if rower in Rower.objects.filter(coachinggroups__in=[user.rower.mycoachgroup]): + return True + + except Rower.DoesNotExist: return False diff --git a/rowers/templates/list_workouts.html b/rowers/templates/list_workouts.html index 6d4c4672..ea46495d 100644 --- a/rowers/templates/list_workouts.html +++ b/rowers/templates/list_workouts.html @@ -26,7 +26,7 @@ if (rankingpiece) { $(tdid).addClass('yellow'); $(tdid).removeClass('notyellow'); - $(tdid).html('★'); + $(tdid).html('☆'); console.log('adding yellow '+tdid); } else { $(tdid).removeClass('yellow'); @@ -182,7 +182,7 @@ {% if workout.rankingpiece %} - + {% else %} {% endif %} diff --git a/rowers/tests/testdata/testdata.csv.gz b/rowers/tests/testdata/testdata.csv.gz index e7c95fb3..56336034 100644 Binary files a/rowers/tests/testdata/testdata.csv.gz and b/rowers/tests/testdata/testdata.csv.gz differ diff --git a/rowers/views/analysisviews.py b/rowers/views/analysisviews.py index 5132ea4c..8784e060 100644 --- a/rowers/views/analysisviews.py +++ b/rowers/views/analysisviews.py @@ -607,7 +607,8 @@ def fitnessmetric_view(request,id=0,mode='rower', script,thediv = fitnessmetric_chart( fitnessmetrics,theuser, - workoutmode=mode + workoutmode=mode,startdate=startdate, + enddate=enddate, ) return render(request,'fitnessmetric.html',