Private
Public Access
1
0

select by country on virtualevents

This commit is contained in:
Sander Roosendaal
2018-04-15 16:07:58 +02:00
parent 4865ae99fd
commit dbce91725d
3 changed files with 54 additions and 5 deletions

View File

@@ -722,6 +722,7 @@ from rowers.models import VirtualRace,GeoCourse
def get_countries(): def get_countries():
countries = VirtualRace.objects.order_by('country').values_list('country').distinct() countries = VirtualRace.objects.order_by('country').values_list('country').distinct()
countries = tuple([(c[0],c[0]) for c in countries]) countries = tuple([(c[0],c[0]) for c in countries])
countries = countries+(('All','All'),)
return countries return countries
class VirtualRaceSelectForm(forms.Form): class VirtualRaceSelectForm(forms.Form):
@@ -733,5 +734,5 @@ class VirtualRaceSelectForm(forms.Form):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(VirtualRaceSelectForm, self).__init__(*args, **kwargs) super(VirtualRaceSelectForm, self).__init__(*args, **kwargs)
self.fields['country'] = forms.ChoiceField( self.fields['country'] = forms.ChoiceField(
choices = get_countries(), choices = get_countries(),initial='All'
) )

View File

@@ -19,10 +19,38 @@
</div> </div>
<div class="grid_12 alpha"> <div class="grid_12 alpha">
<form> <form enctype="multipart/form-data" method="post">
{{ form.as_table }} <div class="grid_8 alpha">
{{ form.as_table }}
{% csrf_token %}
</div>
<div class="grid_2">
<input name='form' class='button green' type='submit' value="Submit">
</div>
</form> </form>
</div>
<div class="grid_12 alpha">
<table width="100%" class="listtable shortpadded">
<thead>
<tr>
<th>Date</th>
<th>Event</th>
<th>Country</th>
<th>Course</th>
</tr>
</thead>
<tbody>
{% for race in races %}
<tr>
<td>{{ race.startdate }}</td>
<td><a href="/rowers/virtualevent/{{ race.id }}">{{ race.name }}</a></td>
<td>{{ race.course.country }}</td>
<td>{{ race.course.name }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div> </div>

View File

@@ -13295,9 +13295,29 @@ def plannedsession_deleteconfirm_view(request,id=0):
def virtualevents_view(request): def virtualevents_view(request):
races = VirtualRace.objects.all() # default races
races = VirtualRace.objects.filter(
startdate__gte=datetime.date.today()
)
form = VirtualRaceSelectForm() if request.method == 'POST':
# process form
form = VirtualRaceSelectForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
country = cd['country']
if country == 'All':
countries = VirtualRace.objects.order_by('country').values_list('country').distinct()
else:
countries = [country]
races = VirtualRace.objects.filter(
startdate__gte=datetime.date.today(),
country__in=countries
)
else:
form = VirtualRaceSelectForm()
return render(request,'virtualevents.html', return render(request,'virtualevents.html',
{ 'races':races, { 'races':races,