diff --git a/rowers/forms.py b/rowers/forms.py index 54450443..8b8015db 100644 --- a/rowers/forms.py +++ b/rowers/forms.py @@ -722,6 +722,7 @@ from rowers.models import VirtualRace,GeoCourse def get_countries(): countries = VirtualRace.objects.order_by('country').values_list('country').distinct() countries = tuple([(c[0],c[0]) for c in countries]) + countries = countries+(('All','All'),) return countries class VirtualRaceSelectForm(forms.Form): @@ -733,5 +734,5 @@ class VirtualRaceSelectForm(forms.Form): def __init__(self, *args, **kwargs): super(VirtualRaceSelectForm, self).__init__(*args, **kwargs) self.fields['country'] = forms.ChoiceField( - choices = get_countries(), + choices = get_countries(),initial='All' ) diff --git a/rowers/templates/virtualevents.html b/rowers/templates/virtualevents.html index 22446832..b33008aa 100644 --- a/rowers/templates/virtualevents.html +++ b/rowers/templates/virtualevents.html @@ -19,10 +19,38 @@
-
- {{ form.as_table }} + +
+ {{ form.as_table }} + {% csrf_token %} +
+
+ +
+
+
+ + + + + + + + + + + {% for race in races %} + + + + + + + {% endfor %} + +
DateEventCountryCourse
{{ race.startdate }}{{ race.name }}{{ race.course.country }}{{ race.course.name }}
diff --git a/rowers/views.py b/rowers/views.py index 20cb75ea..1eb6b0cd 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -13295,9 +13295,29 @@ def plannedsession_deleteconfirm_view(request,id=0): 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', { 'races':races,