Private
Public Access
1
0

Merge branch 'develop' into feature/popupregatta

This commit is contained in:
Sander Roosendaal
2018-04-16 08:01:15 +02:00
6 changed files with 51 additions and 18 deletions

View File

@@ -721,7 +721,13 @@ def fetchcp(rower,theworkouts,table='cpdata'):
return pd.Series([]),pd.Series([]),avgpower2
dfgrouped = df.groupby(['workoutid'])
avgpower2 = dict(dfgrouped.mean()['power'].astype(int))
try:
avgpower2 = dict(dfgrouped.mean()['power'].astype(int))
except KeyError:
avgpower2 = {}
for id in theids:
avgpower2[id] = 0
return pd.Series([]),pd.Series([]),avgpower2
cpdf = getcpdata_sql(rower.id,table=table)

View File

@@ -198,7 +198,7 @@ class UploadOptionsForm(forms.Form):
plotchoices = (
('timeplot','Time Plot'),
('distanceplot','Distance Plot'),
('pieplot','Pie Chart'),
('pieplot','Heart Rate Pie Chart'),
)
make_plot = forms.BooleanField(initial=False,required=False)
plottype = forms.ChoiceField(required=False,

View File

@@ -3468,8 +3468,11 @@ def thumbnail_flex_chart(rowdata,id=0,promember=0,
plot.yaxis.axis_label = 'Y'
yrange1 = Range1d(start=yaxminima[yparam1],end=yaxmaxima[yparam1])
try:
yrange1 = Range1d(start=yaxminima[yparam1],end=yaxmaxima[yparam1])
except KeyError:
yrange1 = Range1d(start=yparam1.min(), end=yparam1.max())
plot.y_range = yrange1
if (xparam != 'time') and (xparam != 'distance') and (xparam != 'cumdist'):

View File

@@ -13,7 +13,7 @@
</div>
<div class="grid_2 alpha">
<p>
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addpiechart">Add Pie Chart</a>
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addpiechart">Add HR Pie Chart</a>
</p>
</div>
<div class="grid_2 alpha">

View File

@@ -137,7 +137,7 @@
</div>
<div class="grid_2 omega">
<p>
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addpiechart">Add Pie Chart</a>
<a class="button blue small" href="/rowers/workout/{{ workout.id }}/addpiechart">Add HR Pie Chart</a>
</p>
</div>
<div class="grid_6 alpha">

View File

@@ -2747,6 +2747,10 @@ def histo_all(request,theuser=0,
if enddatestring != "":
enddate = iso8601.parse_date(enddatestring)
startdate = datetime.datetime.combine(startdate,datetime.time())
enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59))
if enddate < startdate:
s = enddate
enddate = startdate
@@ -6414,9 +6418,8 @@ def courses_view(request):
# List Workouts
@login_required()
def workouts_view(request,message='',successmessage='',
startdatestring="",enddatestring="",
startdate=timezone.now()-datetime.timedelta(days=365),
enddate=timezone.now(),
startdatestring='',
enddatestring='',
teamid=0,rankingonly=False,rowerid=0,userid=0):
request.session['referer'] = absolute(request)['PATH']
@@ -6436,13 +6439,26 @@ def workouts_view(request,message='',successmessage='',
if not checkaccessuser(request.user,r):
raise PermissionDenied("Access denied")
if startdatestring:
startdate = iso8601.parse_date(startdatestring)
else:
startdate = datetime.date.today()-datetime.timedelta(days=365)
if enddatestring:
enddate = iso8601.parse_date(enddatestring)
else:
enddate = datetime.date.today()
startdate = datetime.datetime.combine(startdate,datetime.time())
enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59))
if request.method == 'POST':
dateform = DateRangeForm(request.POST)
if dateform.is_valid():
startdate = dateform.cleaned_data['startdate']
enddate = dateform.cleaned_data['enddate']
startdatestring = None
enddatestring = None
else:
dateform = DateRangeForm(initial={
'startdate':startdate,
@@ -6453,16 +6469,15 @@ def workouts_view(request,message='',successmessage='',
enddate = datetime.datetime.combine(enddate,datetime.time(23,59,59))
#enddate = enddate+datetime.timedelta(days=1)
if startdatestring:
startdate = iso8601.parse_date(startdatestring)
if enddatestring:
enddate = iso8601.parse_date(enddatestring)
if enddate < startdate:
s = enddate
enddate = startdate
startdate = s
startdatestring = startdate.strftime('%Y-%m-%d')
enddatestring = enddate.strftime('%Y-%m-%d')
# start date for the small graph
activity_startdate = enddate-datetime.timedelta(days=15)
@@ -7650,7 +7665,7 @@ def cumstats(request,theuser=0,
if waterinclude:
allergworkouts = workoutse | workoutsw
allergworkouts = workouts.distinct().order_by("-date", "-starttime")
allergworkouts = allergworkouts.distinct().order_by("-date", "-starttime")
else:
allergworkouts = workoutse.order_by("-date","-starttime")
@@ -8416,11 +8431,20 @@ def workout_flexchart3_view(request,*args,**kwargs):
workstrokesonly = request.POST['workstrokesonlysave']
reststrokes = not workstrokesonly
r = getrower(request.user)
f = FavoriteChart(user=r,xparam=xparam,
try:
r = metrics.yaxmaxima[xparam]
if yparam1 is not None:
r = metrics.yaxmaxima[yparam1]
if yparam2 is not None:
r = metrics.yaxmaxima[yparam2]
f = FavoriteChart(user=r,xparam=xparam,
yparam1=yparam1,yparam2=yparam2,
plottype=plottype,workouttype=workouttype,
reststrokes=reststrokes)
f.save()
f.save()
except KeyError:
messages.error(request,'We cannot save the ad hoc metrics in a favorite chart')
if request.method == 'POST' and 'workstrokesonly' in request.POST:
workstrokesonly = request.POST['workstrokesonly']