Merge branch 'develop' into feature/braintree
This commit is contained in:
146
rowers/views.py
146
rowers/views.py
@@ -5681,6 +5681,139 @@ def team_comparison_select(request,
|
||||
'teams':get_my_teams(request.user),
|
||||
})
|
||||
|
||||
def virtualevent_compare_view(request,id=0):
|
||||
results = []
|
||||
|
||||
promember = 0
|
||||
if not request.user.is_anonymous():
|
||||
r = getrower(request.user)
|
||||
result = request.user.is_authenticated() and ispromember(request.user)
|
||||
if result:
|
||||
promember=1
|
||||
else:
|
||||
r = None
|
||||
|
||||
try:
|
||||
race = VirtualRace.objects.get(id=id)
|
||||
except VirtualRace.DoesNotExist:
|
||||
raise Http404("Virtual Race does not exist")
|
||||
|
||||
if race.sessiontype == 'race':
|
||||
script,div = course_map(race.course)
|
||||
resultobj = VirtualRaceResult
|
||||
else:
|
||||
script = ''
|
||||
div = ''
|
||||
resultobj = IndoorVirtualRaceResult
|
||||
|
||||
results = resultobj.objects.filter(
|
||||
race=race,
|
||||
workoutid__isnull=False,
|
||||
coursecompleted=True,
|
||||
).order_by("duration","-distance")
|
||||
|
||||
workoutids = [result.workoutid for result in results]
|
||||
|
||||
if request.method == 'GET':
|
||||
xparam = race.sessionmode if race.sessionmode in ['distance','time'] else 'time'
|
||||
yparam = 'pace'
|
||||
plottype = 'line'
|
||||
|
||||
|
||||
|
||||
request.session['ids'] = workoutids
|
||||
request.session['plottype'] = plottype
|
||||
request.session['xparam'] = xparam
|
||||
request.session['yparam'] = yparam
|
||||
|
||||
|
||||
workouts = []
|
||||
for id in workoutids:
|
||||
try:
|
||||
workouts.append(Workout.objects.get(id=id))
|
||||
except Workout.DoesNotExist:
|
||||
pass
|
||||
|
||||
labeldict = {
|
||||
int(w.id): w.__unicode__() for w in workouts
|
||||
}
|
||||
|
||||
chartform = ChartParamChoiceForm(
|
||||
initial = {
|
||||
'xparam':xparam,
|
||||
'yparam':yparam,
|
||||
'plottype':plottype,
|
||||
'teamid':0
|
||||
}
|
||||
)
|
||||
elif request.method == 'POST':
|
||||
chartform = ChartParamChoiceForm(request.POST)
|
||||
if chartform.is_valid():
|
||||
xparam = chartform.cleaned_data['xparam']
|
||||
yparam = chartform.cleaned_data['yparam']
|
||||
plottype = chartform.cleaned_data['plottype']
|
||||
teamid = chartform.cleaned_data['teamid']
|
||||
workoutids = request.session['ids']
|
||||
request.session['ids'] = workoutids
|
||||
workouts = []
|
||||
for id in workoutids:
|
||||
try:
|
||||
workouts.append(Workout.objects.get(id=id))
|
||||
except Workout.DoesNotExist:
|
||||
pass
|
||||
|
||||
labeldict = {
|
||||
int(w.id): w.__unicode__() for w in workouts
|
||||
}
|
||||
res = interactive_multiple_compare_chart(workoutids,xparam,yparam,
|
||||
promember=promember,
|
||||
plottype=plottype,
|
||||
labeldict=labeldict)
|
||||
script = res[0]
|
||||
div = res[1]
|
||||
errormessage = res[3]
|
||||
if errormessage != '':
|
||||
messages.error(request,errormessage)
|
||||
|
||||
breadcrumbs = [
|
||||
{
|
||||
'url': reverse(virtualevents_view),
|
||||
'name': 'Racing'
|
||||
},
|
||||
{
|
||||
'url':reverse(virtualevent_view,
|
||||
kwargs={
|
||||
'id':race.id,
|
||||
}
|
||||
),
|
||||
'name': race.name
|
||||
},
|
||||
{
|
||||
'url':reverse(virtualevent_compare_view,
|
||||
kwargs={
|
||||
'id':race.id,
|
||||
}
|
||||
),
|
||||
'name': 'Compare'
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
return render(request,'multicompare.html',
|
||||
{'interactiveplot':script,
|
||||
'the_div':div,
|
||||
'breadcrumbs':breadcrumbs,
|
||||
'rower':r,
|
||||
'race':race,
|
||||
'results':results,
|
||||
'active':'nav-racing',
|
||||
'promember':promember,
|
||||
'teamid':0,
|
||||
'chartform':chartform,
|
||||
'teams':[]
|
||||
})
|
||||
|
||||
|
||||
@login_required()
|
||||
def plannedsession_compare_view(request,id=0,userid=0):
|
||||
r = getrequestrower(request,userid=userid)
|
||||
@@ -17678,14 +17811,6 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0):
|
||||
selectedworkout = w_form.cleaned_data['workouts']
|
||||
splitsecond = 0
|
||||
recordid = w_form.cleaned_data['record']
|
||||
# splittime = w_form.cleaned_data['evaluate_after']
|
||||
# if splittime is not None:
|
||||
# splitsecond = splittime.hour*3600
|
||||
# splitsecond += splittime.minute*60
|
||||
# splitsecond += splittime.second
|
||||
# splitsecond += splittime.microsecond/1.e6
|
||||
# else:
|
||||
# splitsecond = 0
|
||||
else:
|
||||
selectedworkout = None
|
||||
|
||||
@@ -17704,11 +17829,6 @@ def virtualevent_submit_result_view(request,id=0,workoutid=0):
|
||||
workouts,race,r,recordid=recordid)
|
||||
|
||||
|
||||
# if result:
|
||||
# for w in ws:
|
||||
# remove_workout_plannedsession(w,race)
|
||||
# delete_race_result(w,race)
|
||||
|
||||
for c in comments:
|
||||
messages.info(request,c)
|
||||
for er in errors:
|
||||
|
||||
Reference in New Issue
Block a user