Private
Public Access
1
0

adding workout selector to virtual event compare

This commit is contained in:
Sander Roosendaal
2020-06-06 16:20:16 +02:00
parent 3d622ecfda
commit 55ad7ce2d9
3 changed files with 51 additions and 20 deletions

View File

@@ -1615,6 +1615,8 @@ def virtualevent_compare_view(request,id=0):
workoutids = [result.workoutid for result in results]
startenddict = {}
if race.sessiontype == 'race':
for result in results:
@@ -1659,6 +1661,10 @@ def virtualevent_compare_view(request,id=0):
except Workout.DoesNotExist:
pass
form = WorkoutMultipleCompareForm()
form.fields["workouts"].queryset = Workout.objects.filter(id__in=workoutids)
form.fields["workouts"].initial = Workout.objects.filter(id__in=workoutids)
labeldict = {
int(w.id): w.__str__() for w in workouts
@@ -1674,7 +1680,25 @@ def virtualevent_compare_view(request,id=0):
'teamid':0
}
)
if request.method == 'POST' and 'workouts' in request.POST:
form = WorkoutMultipleCompareForm(request.POST)
form.fields["workouts"].queryset = Workout.objects.filter(id__in=workoutids)
chartform = ChartParamChoiceForm(request.POST)
if form.is_valid() and chartform.is_valid():
cd = form.cleaned_data
workouts = cd['workouts']
workoutids = [w.id for w in workouts]
xparam = chartform.cleaned_data['xparam']
yparam = chartform.cleaned_data['yparam']
plottype = chartform.cleaned_data['plottype']
teamid = chartform.cleaned_data['teamid']
ids = [int(w.id) for w in workouts]
request.session['ids'] = ids
elif request.method == 'POST':
form = WorkoutMultipleCompareForm()
form.fields["workouts"].queryset = Workout.objects.filter(id__in=workoutids)
request.session['ids'] = workoutids
chartform = ChartParamChoiceForm(request.POST)
if chartform.is_valid():
xparam = chartform.cleaned_data['xparam']
@@ -1686,7 +1710,6 @@ def virtualevent_compare_view(request,id=0):
except KeyError:
pass
request.session['ids'] = workoutids
workouts = []
for id in workoutids:
try:
@@ -1695,11 +1718,9 @@ def virtualevent_compare_view(request,id=0):
except Workout.DoesNotExist:
pass
labeldict = {
int(w.id): w.__str__() for w in workouts
}
else:
raise HttpResponse('Only GET and POST allowed',status=405)
labeldict = {
int(w.id): w.__str__() for w in workouts
}
res = interactive_multiple_compare_chart(workoutids,xparam,yparam,
@@ -1747,6 +1768,7 @@ def virtualevent_compare_view(request,id=0):
'promember':promember,
'teamid':0,
'chartform':chartform,
'form':form,
'teams':[]
})