Private
Public Access
1
0

added race action to race list

This commit is contained in:
Sander Roosendaal
2018-04-23 21:58:55 +02:00
parent 399d907066
commit e651198dba
4 changed files with 52 additions and 5 deletions

View File

@@ -1136,7 +1136,7 @@ class PlannedSessionForm(ModelForm):
class VirtualRaceForm(ModelForm):
course = forms.ModelChoiceField(queryset = GeoCourse.objects, empty_label=None)
registration_closure = forms.SplitDateTimeField(widget=AdminSplitDateTime(),required=False)
evaluation_closure = forms.SplitDateTimeField(widget=AdminSplitDateTime(),required=False)
evaluation_closure = forms.SplitDateTimeField(widget=AdminSplitDateTime(),required=True)
class Meta:
model = VirtualRace

View File

@@ -1,3 +1,4 @@
{% load rowerfilters %}
<p>
<table width="100%" class="listtable shortpadded">
<thead>
@@ -6,6 +7,7 @@
<th>Event</th>
<th>Country</th>
<th>Course</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@@ -15,6 +17,19 @@
<td><a href="/rowers/virtualevent/{{ race.id }}">{{ race.name }}</a></td>
<td>{{ race.course.country }}</td>
<td>{{ race.course.name }}</td>
<td>
{% if rower %}
{% if race|can_register:rower %}
<a class="white dot" href="/rowers/virtualevent/{{ race.id }}">&nbsp;</a>
{% elif race|can_submit:rower %}
<a class="orange dot" href="/rowers/virtualevent/{{ race.id }}">&nbsp;</a>
{% elif race|race_complete:rower %}
<a class="green dot" href="/rowers/virtualevent/{{ race.id }}">&nbsp;</a>
{% else %}
<a class="red dot" href="/rowers/virtualevent/{{ race.id }}">&nbsp;</a>
{% endif %}
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>

View File

@@ -6,6 +6,9 @@ import json
import datetime
register = template.Library()
from rowers.utils import calculate_age
from rowers.plannedsessions import (
race_can_register, race_can_submit,race_rower_status
)
def strfdelta(tdelta):
minutes,seconds = divmod(tdelta.seconds,60)
@@ -244,3 +247,18 @@ def date_dif(the_date):
return 1
@register.filter
def can_register(race,r):
return race_can_register(r,race)
@register.filter
def can_submit(race,r):
return race_can_submit(r,race)
@register.filter
def race_complete(race,r):
is_complete,has_registered = race_rower_status(r,race)
if is_complete == 'completed':
return True
else:
return False

View File

@@ -13328,6 +13328,8 @@ def virtualevents_view(request):
if not request.user.is_anonymous():
r = getrower(request.user)
else:
r = None
if request.method == 'POST':
# process form
@@ -13342,19 +13344,29 @@ def virtualevents_view(request):
countries = [country]
if regattatype == 'upcoming':
races = VirtualRace.objects.filter(
races1 = VirtualRace.objects.filter(
startdate__gte=datetime.date.today(),
country__in=countries
).order_by("startdate","start_time")
)
races2 = VirtualRace.objects.filter(
startdate__lte=datetime.date.today(),
evaluation_closure__gte=timezone.now(),
country__in=countries
)
races = (races1 | races2).order_by("startdate","start_time")
elif regattatype == 'previous':
races = VirtualRace.objects.filter(
enddate__lt=datetime.date.today(),
evaluation_closure__lt=timezone.now(),
country__in=countries
).order_by("startdate","start_time")
elif regattatype == 'ongoing':
races = VirtualRace.objects.filter(
startdate__lte=datetime.date.today(),
evaluation_closure__gte=datetime.date.today(),
evaluation_closure__gte=timezone.now(),
country__in=countries
).order_by("startdate","start_time")
elif regattatype == 'my':
@@ -13374,11 +13386,13 @@ def virtualevents_view(request):
if is_ajax:
return render(request,'racelist.html',
{ 'races':races,
'rower':r,
})
return render(request,'virtualevents.html',
{ 'races':races,
'form':form,
'rower':r,
}
)