Private
Public Access
1
0

better OTW uploading and submitting

This commit is contained in:
Sander Roosendaal
2020-05-23 15:38:06 +02:00
parent e44f6b3ef7
commit 248276ddcf
4 changed files with 53 additions and 21 deletions

View File

@@ -389,18 +389,26 @@ class UploadOptionsForm(forms.Form):
super(UploadOptionsForm, self).__init__(*args, **kwargs)
r = Rower.objects.get(user=self.request.user)
races = VirtualRace.objects.filter(
registration_closure__gt=timezone.now(),
sessiontype='indoorrace')
registration_closure__gt=timezone.now())
registrations = IndoorVirtualRaceResult.objects.filter(
race__in = races,
userid = r.id)
registrations2 = VirtualRaceResult.objects.filter(
race__in = races,
userid = r.id,
)
raceids = [r.race.id for r in registrations]
raceids2 = [r.race.id for r in registrations2]
raceids = raceids+raceids2
races = VirtualRace.objects.filter(
id__in=raceids
)
if races:
self.fields['submitrace'].queryset = races
else:
@@ -409,6 +417,8 @@ class UploadOptionsForm(forms.Form):
if int(raceid) in raceids:
self.fields['submitrace'].initial = VirtualRace.objects.get(id=raceid)
# The form to indicate additional actions to be performed immediately
# after a successful upload. This version allows the Team manager to select
# a team member

View File

@@ -1472,7 +1472,7 @@ def add_workout_race(ws,race,r,splitsecond=0,recordid=0):
errors.append('For tests and training sessions, selected workouts must all be done on the same date')
return result,comments,errors,0
if ws.count()>1 and race.sessiontype == 'test':
if len(ws)>1 and race.sessiontype == 'test':
errors.append('For tests, you can only attach one workout')
return result,comments,errors,0
@@ -1553,6 +1553,8 @@ 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)
add_workouts_plannedsession(ws,race,r)

View File

@@ -51,7 +51,7 @@
<i class="fas fa-file-plus fa-fw"></i>&nbsp;Submit Workout</a>
</li>
<li>
<a href="/rowers/workout/upload/">
<a href="/rowers/workout/upload/{{ race.id }}/">
<i class="fas fa-file-upload fa-fw"></i>&nbsp;Upload your Challenge result
</a>
</li>

View File

@@ -4965,6 +4965,7 @@ def workout_upload_view(request,
messages.error(request,message)
if race and race_can_submit(r,race):
if race.sessiontype == 'indoorrace':
records = IndoorVirtualRaceResult.objects.filter(
race=race,
userid=r.id
@@ -4985,6 +4986,25 @@ def workout_upload_view(request,
messages.info(request,c)
for er in errors:
messages.error(request,er)
if race.sessiontype == 'race':
records = VirtualRaceResult.objects.filter(
race=race,userid=r.id
)
if records:
result,comments,errors,jobid = add_workout_race(
[w], race,r,recordid=records[0].id
)
if result:
messages.info(
request,
"We have submitted your workout to the race")
for c in comments:
messages.info(request,c)
for er in errors:
messages.error(request,er)
if landingpage != 'workout_upload_view':