Private
Public Access
1
0

Merge branch 'release/v12.71'

This commit is contained in:
Sander Roosendaal
2020-06-01 08:38:34 +02:00
7 changed files with 153 additions and 154 deletions

View File

@@ -1552,7 +1552,7 @@ def add_workout_race(ws,race,r,splitsecond=0,recordid=0):
job = myqueue(queue,handle_check_race_course,ws[0].csvfilename,
ws[0].id,race.course.id,record.id,splitsecond=splitsecond,
# referencespeed=record.referencespeed,coursedistance=race.course.distance
referencespeed=record.referencespeed,coursedistance=race.course.distance
)

View File

@@ -1,5 +1,5 @@
from rowers.models import (
#StandardCollection,CourseStandard,
StandardCollection,CourseStandard,
VirtualRaceResult,IndoorVirtualRaceResult,
)

View File

@@ -353,15 +353,15 @@ def handle_check_race_course(self,
else:
splitsecond = 0
# if 'referencespeed' in kwargs:
# referencespeed = kwargs['referencespeed']
# else:
# referencespeed = 5.0
if 'referencespeed' in kwargs:
referencespeed = kwargs['referencespeed']
else:
referencespeed = 5.0
# if 'coursedistance' in kwargs:
# coursedistance = kwargs['coursedistance']
# else:
# coursedistance = 0
if 'coursedistance' in kwargs:
coursedistance = kwargs['coursedistance']
else:
coursedistance = 0
mode = 'race'
if 'mode' in kwargs:
@@ -489,30 +489,28 @@ def handle_check_race_course(self,
else:
coursecompleted = False
# points = 0
points = 0
if coursecompleted:
# if coursedistance == 0:
# coursedistance = coursemeters
# velo = coursedistance/coursetimeseconds
# points = int(100*(2.-referencespeed/velo))
# query = 'UPDATE rowers_virtualraceresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond}, points={points} WHERE id={recordid}'.format(
query = 'UPDATE rowers_virtualraceresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond} WHERE id={recordid}'.format(
if coursedistance == 0:
coursedistance = coursemeters
velo = coursedistance/coursetimeseconds
points = int(100*(2.-referencespeed/velo))
query = 'UPDATE rowers_virtualraceresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond}, points={points} WHERE id={recordid}'.format(
recordid=recordid,
duration=totaltime_sec_to_string(coursetimeseconds),
distance=int(coursemeters),
# points=points,
points=points,
workoutid=workoutid,
startsecond=startsecond,
endsecond=endsecond,
)
if mode == 'coursetest':
# query = 'UPDATE rowers_coursetestresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond}, points={points} WHERE id={recordid}'.format(
query = 'UPDATE rowers_coursetestresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond} WHERE id={recordid}'.format(
query = 'UPDATE rowers_coursetestresult SET coursecompleted = 1, duration = "{duration}", distance = {distance}, workoutid = {workoutid}, startsecond = {startsecond}, endsecond = {endsecond}, points={points} WHERE id={recordid}'.format(
recordid=recordid,
duration=totaltime_sec_to_string(coursetimeseconds),
distance=int(coursemeters),
# points=points,
points=points,
workoutid=workoutid,
startsecond=startsecond,
endsecond=endsecond,

View File

@@ -133,13 +133,11 @@
</ul>
</li>
{% endif %}
{% comment %}
<li id="standards">
<a href="/rowers/list-standards/">
<i class="fas fa-award fa-fw"></i>&nbsp;Course Time Standards
</a>
</li>
{% endcomment %}
</ul> <!-- cd-accordion-menu -->
{% include 'menuscript.html' %}

View File

@@ -35,7 +35,6 @@
as a Male crew. Check the "Mixed gender" check box to register as a
mixed gender crew (except for 1x where this check box does nothing).
</p>
{% comment %}
{% if race.coursestandards %}
<p>This race uses standard times and limits the race groups to those where
standard times exist. The "Group" form choice will overrule other selections you
@@ -46,7 +45,6 @@
You can check the valid race groups and standard times <a target="_" href="/rowers/standards/{{ race.coursestandards.id }}/">here</a>.
</p>
{% endif %}
{% endcomment %}
<div class="grid_6 alpha">
<table width="100%">
{{ form.as_table }}

View File

@@ -67,8 +67,13 @@ def get_token(code):
'Content-Type': 'application/x-www-form-urlencoded',
}
response = requests.post("https://oauth.trainingpeaks.com/oauth/token",
data=post_data)
try:
response = requests.post(
"https://oauth.trainingpeaks.com/oauth/token",
data=post_data
)
except:
return 0,0,0
try:

View File

@@ -1127,10 +1127,10 @@ def virtualevent_view(request,id=0):
except KeyError:
adaptiveclass = ['None','PR1','PR2','PR3','FES']
# try:
# entrycategory = cd['entrycategory']
# except KeyError:
# entrycategory = None
try:
entrycategory = cd['entrycategory']
except KeyError:
entrycategory = None
if race.sessiontype == 'race':
results = resultobj.objects.filter(
@@ -1156,8 +1156,8 @@ def virtualevent_view(request,id=0):
age__lte=age_max,
).order_by("duration","-distance")
# if entrycategory is not None:
# results = results.filter(entrycategory__in=entrycategory)
if entrycategory is not None:
results = results.filter(entrycategory__in=entrycategory)
# to-do - add DNS
dns = []
@@ -1479,10 +1479,10 @@ def virtualevent_addboat_view(request,id=0):
except VirtualRace.DoesNotExist:
raise Http404("Virtual Challenge does not exist")
# categories = None
# if race.coursestandards is not None:
# categories = CourseStandard.objects.filter(
# standardcollection=race.coursestandards).order_by("name")
categories = None
if race.coursestandards is not None:
categories = CourseStandard.objects.filter(
standardcollection=race.coursestandards).order_by("name")
if not race_can_adddiscipline(r,race):
@@ -1508,7 +1508,7 @@ def virtualevent_addboat_view(request,id=0):
# we're still here
if request.method == 'POST':
# process form
form = VirtualRaceResultForm(request.POST) #,categories=categories)
form = VirtualRaceResultForm(request.POST,categories=categories)
if form.is_valid():
cd = form.cleaned_data
teamname = cd['teamname']
@@ -1530,7 +1530,7 @@ def virtualevent_addboat_view(request,id=0):
if sex == 'not specified':
sex = 'male'
if boattype in boattypes and boatclass in boatclasses: # and race.coursestandards is None:
if boattype in boattypes and boatclass in boatclasses and race.coursestandards is None:
# check if different sexes
therecords = records.filter(
boattype=boattype,
@@ -1551,47 +1551,47 @@ def virtualevent_addboat_view(request,id=0):
return HttpResponseRedirect(url)
# coursestandard = None
# referencespeed = 5.0
coursestandard = None
referencespeed = 5.0
# if race.coursestandards is not None:
# coursestandard = cd['entrycategory']
# thegroups = [record.entrycategory for record in records]
# if coursestandard in thegroups:
# messages.error(request,"You have already registered in that group")
# url = reverse('virtualevent_view',
# kwargs = {
# 'id': race.id
# }
# )
if race.coursestandards is not None:
coursestandard = cd['entrycategory']
thegroups = [record.entrycategory for record in records]
if coursestandard in thegroups:
messages.error(request,"You have already registered in that group")
url = reverse('virtualevent_view',
kwargs = {
'id': race.id
}
)
# return HttpResponseRedirect(url)
return HttpResponseRedirect(url)
# referencespeed = coursestandard.referencespeed
# boattype = coursestandard.boattype
# boatclass = coursestandard.boatclass
# weightcategory = coursestandard.weightclass
# adaptiveclass = coursestandard.adaptiveclass
# skillclass = coursestandard.skillclass
referencespeed = coursestandard.referencespeed
boattype = coursestandard.boattype
boatclass = coursestandard.boatclass
weightcategory = coursestandard.weightclass
adaptiveclass = coursestandard.adaptiveclass
skillclass = coursestandard.skillclass
# returnurl = reverse(virtualevent_register_view,
# kwargs={'id':race.id})
returnurl = reverse(virtualevent_register_view,
kwargs={'id':race.id})
# if age < coursestandard.agemin:
# messages.error(request,'You are younger than the minimum age for this group')
# return HttpResponseRedirect(returnurl)
if age < coursestandard.agemin:
messages.error(request,'You are younger than the minimum age for this group')
return HttpResponseRedirect(returnurl)
# if age > coursestandard.agemax:
# messages.error(request,'You are older than the maximum age for this group')
# return HttpResponseRedirect(returnurl)
if age > coursestandard.agemax:
messages.error(request,'You are older than the maximum age for this group')
return HttpResponseRedirect(returnurl)
# if sex == 'male' and coursestandard.sex != 'male':
# messages.error(request,'Men are not allowed to enter this category')
# return HttpResponseRedirect(returnurl)
if sex == 'male' and coursestandard.sex != 'male':
messages.error(request,'Men are not allowed to enter this category')
return HttpResponseRedirect(returnurl)
# if sex == 'mixed' and coursestandard.sex not in ['mixed','male']:
# messages.error(request,'Mixed crews are not allowed to enter this category')
# return HttpResponseRedirect(returnurl)
if sex == 'mixed' and coursestandard.sex not in ['mixed','male']:
messages.error(request,'Mixed crews are not allowed to enter this category')
return HttpResponseRedirect(returnurl)
record = VirtualRaceResult(
@@ -1608,8 +1608,8 @@ def virtualevent_addboat_view(request,id=0):
boattype=boattype,
boatclass=boatclass,
coursecompleted=False,
# referencespeed=referencespeed,
# entrycategory=coursestandard,
referencespeed=referencespeed,
entrycategory=coursestandard,
sex=sex,
age=age,
)
@@ -1639,13 +1639,13 @@ def virtualevent_addboat_view(request,id=0):
'adaptiveclass': r.adaptiveclass,
}
# categories = None
# if race.coursestandards is not None:
# categories = CourseStandard.objects.filter(
# standardcollection=race.coursestandards).order_by("name")
categories = None
if race.coursestandards is not None:
categories = CourseStandard.objects.filter(
standardcollection=race.coursestandards).order_by("name")
form = VirtualRaceResultForm(initial=initial) #,categories=categories)
form = VirtualRaceResultForm(initial=initial,categories=categories)
breadcrumbs = [
{
@@ -1706,10 +1706,10 @@ def virtualevent_register_view(request,id=0):
except VirtualRace.DoesNotExist:
raise Http404("Virtual Challenge does not exist")
# categories = None
# if race.coursestandards is not None:
# categories = CourseStandard.objects.filter(
# standardcollection=race.coursestandards).order_by("name")
categories = None
if race.coursestandards is not None:
categories = CourseStandard.objects.filter(
standardcollection=race.coursestandards).order_by("name")
if not race_can_register(r,race):
messages.error(request,"You cannot register for this race")
@@ -1724,7 +1724,7 @@ def virtualevent_register_view(request,id=0):
# we're still here
if request.method == 'POST':
# process form
form = VirtualRaceResultForm(request.POST) #,categories=categories)
form = VirtualRaceResultForm(request.POST,categories=categories)
if form.is_valid():
cd = form.cleaned_data
teamname = cd['teamname']
@@ -1747,36 +1747,36 @@ def virtualevent_register_view(request,id=0):
sex = 'male'
# coursestandard = None
# referencespeed = 5.0
coursestandard = None
referencespeed = 5.0
# if race.coursestandards is not None:
# coursestandard = cd['entrycategory']
# referencespeed = coursestandard.referencespeed
# boattype = coursestandard.boattype
# boatclass = coursestandard.boatclass
# weightcategory = coursestandard.weightclass
# adaptiveclass = coursestandard.adaptiveclass
# skillclass = coursestandard.skillclass
if race.coursestandards is not None:
coursestandard = cd['entrycategory']
referencespeed = coursestandard.referencespeed
boattype = coursestandard.boattype
boatclass = coursestandard.boatclass
weightcategory = coursestandard.weightclass
adaptiveclass = coursestandard.adaptiveclass
skillclass = coursestandard.skillclass
# returnurl = reverse(virtualevent_register_view,
# kwargs={'id':race.id})
returnurl = reverse(virtualevent_register_view,
kwargs={'id':race.id})
# if age < coursestandard.agemin:
# messages.error(request,'You are younger than the minimum age for this group')
# return HttpResponseRedirect(returnurl)
if age < coursestandard.agemin:
messages.error(request,'You are younger than the minimum age for this group')
return HttpResponseRedirect(returnurl)
# if age > coursestandard.agemax:
# messages.error(request,'You are older than the maximum age for this group')
# return HttpResponseRedirect(returnurl)
if age > coursestandard.agemax:
messages.error(request,'You are older than the maximum age for this group')
return HttpResponseRedirect(returnurl)
# if sex == 'male' and coursestandard.sex != 'male':
# messages.error(request,'Men are not allowed to enter this category')
# return HttpResponseRedirect(returnurl)
if sex == 'male' and coursestandard.sex != 'male':
messages.error(request,'Men are not allowed to enter this category')
return HttpResponseRedirect(returnurl)
# if sex == 'mixed' and coursestandard.sex not in ['mixed','male']:
# messages.error(request,'Mixed crews are not allowed to enter this category')
# return HttpResponseRedirect(returnurl)
if sex == 'mixed' and coursestandard.sex not in ['mixed','male']:
messages.error(request,'Mixed crews are not allowed to enter this category')
return HttpResponseRedirect(returnurl)
@@ -1796,8 +1796,8 @@ def virtualevent_register_view(request,id=0):
coursecompleted=False,
sex=sex,
age=age,
# entrycategory=coursestandard,
# referencespeed=referencespeed,
entrycategory=coursestandard,
referencespeed=referencespeed,
)
record.save()
@@ -1841,12 +1841,12 @@ def virtualevent_register_view(request,id=0):
'adaptiveclass': r.adaptiveclass,
}
# categories = None
# if race.coursestandards is not None:
# categories = CourseStandard.objects.filter(
# standardcollection=race.coursestandards).order_by("name")
categories = None
if race.coursestandards is not None:
categories = CourseStandard.objects.filter(
standardcollection=race.coursestandards).order_by("name")
form = VirtualRaceResultForm(initial=initial) #,categories=categories)
form = VirtualRaceResultForm(initial=initial,categories=categories)
breadcrumbs = [
{
@@ -1948,10 +1948,10 @@ def indoorvirtualevent_register_view(request,id=0):
except VirtualRace.DoesNotExist:
raise Http404("Virtual Challenge does not exist")
# categories = None
# if race.coursestandards is not None:
# categories = CourseStandard.objects.filter(
# standardcollection=race.coursestandards).order_by("name")
categories = None
if race.coursestandards is not None:
categories = CourseStandard.objects.filter(
standardcollection=race.coursestandards).order_by("name")
if not race_can_register(r,race):
messages.error(request,"You cannot register for this race")
@@ -1966,7 +1966,7 @@ def indoorvirtualevent_register_view(request,id=0):
# we're still here
if request.method == 'POST':
# process form
form = IndoorVirtualRaceResultForm(request.POST) #,categories=categories)
form = IndoorVirtualRaceResultForm(request.POST,categories=categories)
if form.is_valid():
cd = form.cleaned_data
teamname = cd['teamname']
@@ -1984,35 +1984,35 @@ def indoorvirtualevent_register_view(request,id=0):
if sex == 'not specified':
sex = 'male'
# coursestandard = None
# referencespeed = 5.0
coursestandard = None
referencespeed = 5.0
# if race.coursestandards is not None:
# coursestandard = cd['entrycategory']
# referencespeed = coursestandard.referencespeed
# boatclass = coursestandard.boatclass
# weightcategory = coursestandard.weightclass
# adaptiveclass = coursestandard.adaptiveclass
# skillclass = coursestandard.skillclass
if race.coursestandards is not None:
coursestandard = cd['entrycategory']
referencespeed = coursestandard.referencespeed
boatclass = coursestandard.boatclass
weightcategory = coursestandard.weightclass
adaptiveclass = coursestandard.adaptiveclass
skillclass = coursestandard.skillclass
# returnurl = reverse(virtualevent_register_view,
# kwargs={'id':race.id})
returnurl = reverse(virtualevent_register_view,
kwargs={'id':race.id})
# if age < coursestandard.agemin:
# messages.error(request,'You are younger than the minimum age for this group')
# return HttpResponseRedirect(returnurl)
if age < coursestandard.agemin:
messages.error(request,'You are younger than the minimum age for this group')
return HttpResponseRedirect(returnurl)
# if age > coursestandard.agemax:
# messages.error(request,'You are older than the maximum age for this group')
# return HttpResponseRedirect(returnurl)
if age > coursestandard.agemax:
messages.error(request,'You are older than the maximum age for this group')
return HttpResponseRedirect(returnurl)
# if sex == 'male' and coursestandard.sex != 'male':
# messages.error(request,'Men are not allowed to enter this category')
# return HttpResponseRedirect(returnurl)
if sex == 'male' and coursestandard.sex != 'male':
messages.error(request,'Men are not allowed to enter this category')
return HttpResponseRedirect(returnurl)
# if sex == 'mixed' and coursestandard.sex not in ['mixed','male']:
# messages.error(request,'Mixed crews are not allowed to enter this category')
# return HttpResponseRedirect(returnurl)
if sex == 'mixed' and coursestandard.sex not in ['mixed','male']:
messages.error(request,'Mixed crews are not allowed to enter this category')
return HttpResponseRedirect(returnurl)
@@ -2031,8 +2031,8 @@ def indoorvirtualevent_register_view(request,id=0):
coursecompleted=False,
sex=sex,
age=age,
# entrycategory=coursestandard,
# referencespeed=referencespeed
entrycategory=coursestandard,
referencespeed=referencespeed
)
record.save()
@@ -2076,12 +2076,12 @@ def indoorvirtualevent_register_view(request,id=0):
'adaptiveclass': r.adaptiveclass,
}
# categories = None
# if race.coursestandards is not None:
# categories = CourseStandard.objects.filter(
# standardcollection=race.coursestandards).order_by("name")
categories = None
if race.coursestandards is not None:
categories = CourseStandard.objects.filter(
standardcollection=race.coursestandards).order_by("name")
form = IndoorVirtualRaceResultForm(initial=initial) #,categories=categories)
form = IndoorVirtualRaceResultForm(initial=initial,categories=categories)
breadcrumbs = [
{
@@ -2154,7 +2154,7 @@ def indoorvirtualevent_create_view(request):
evaluation_closure = cd['evaluation_closure']
contact_phone = cd['contact_phone']
contact_email = cd['contact_email']
# coursestandards = cd['coursestandards']
coursestandards = cd['coursestandards']
# correct times
@@ -2209,7 +2209,7 @@ def indoorvirtualevent_create_view(request):
sessionvalue = sessionvalue,
course=None,
timezone=timezone_str,
# coursestandards=coursestandards,
coursestandards=coursestandards,
evaluation_closure=evaluation_closure,
registration_closure=registration_closure,
contact_phone=contact_phone,
@@ -2296,7 +2296,7 @@ def virtualevent_create_view(request):
evaluation_closure = cd['evaluation_closure']
contact_phone = cd['contact_phone']
contact_email = cd['contact_email']
# coursestandards = cd['coursestandards']
coursestandards = cd['coursestandards']
# correct times
@@ -2348,7 +2348,7 @@ def virtualevent_create_view(request):
evaluation_closure=evaluation_closure,
registration_closure=registration_closure,
contact_phone=contact_phone,
# coursestandards=coursestandards,
coursestandards=coursestandards,
contact_email=contact_email,
country = course.country,
manager=request.user,