select by country on virtualevents
This commit is contained in:
@@ -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'
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user