Skip to content
This repository was archived by the owner on Sep 19, 2018. It is now read-only.

Commit 47d918a

Browse files
author
Mateja
committed
Search past events and paginated results
1 parent 96b5a8d commit 47d918a

File tree

4 files changed

+15
-11
lines changed

4 files changed

+15
-11
lines changed

api/processors.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,18 @@ def get_next_or_previous (event, country_code=None, past=False, direction=True):
7575
return next_event
7676

7777

78-
def get_filtered_events(search_filter=None, country_filter=None, theme_filter=None, audience_filter=None):
78+
def get_filtered_events(search_filter=None, country_filter=None, theme_filter=None, audience_filter=None, past_events=None):
7979

8080
"""
8181
Filter events by given filter
8282
"""
8383
filter_args = ()
8484

8585
# default
86-
filter_kwargs = {'status': 'APPROVED', 'end_date__gte': datetime.datetime.now()}
86+
filter_kwargs = {'status': 'APPROVED'}
87+
88+
if not past_events:
89+
filter_kwargs['end_date__gte']= datetime.datetime.now()
8790

8891
if search_filter:
8992
filter_args = (Q(title__icontains=search_filter) | Q(description__icontains=search_filter) | Q(tags__name__icontains=search_filter)

web/forms/event_form.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,10 @@ class SearchEventForm(forms.Form):
162162
required=False,
163163
widget=forms.TextInput(attrs={'placeholder': 'Search for event name or tag', 'class': 'form-control'})
164164
)
165-
all_events = forms.ChoiceField(
165+
past = forms.BooleanField(
166166
label='Include past events',
167167
required=False,
168-
widget=forms.CheckboxInput(attrs={'class': 'form-control search-form-element'}),
168+
widget=forms.CheckboxInput(attrs={'class': 'search-form-element'}),
169169
#choices=countries
170170
)
171171
country = forms.ChoiceField(

web/templates/pages/search_events.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@
1717
</div>
1818
<div class="col-md-12"><hr></div>
1919
</div>
20-
<div class="row">
21-
<div class="col-md-4">
22-
<label for="id_include_past">{{ form.all_events.label }}</label>
23-
{{ form.all_events }}
24-
</div>
25-
</div>
2620
<div class="row">
2721
<div class="col-md-4">
2822
<label for="id_country">{{ form.fields.country.label }}</label>
2923
{{ form.country }}
3024

25+
<div class="search-checkbox">
26+
<hr>
27+
{{ form.past }}
28+
<label for="id_include_past">{{ form.past.label }}</label>
29+
</div>
30+
3131
<div class="search-checkbox">
3232
<hr>
3333
<label>{{ form.fields.theme.label }}</label>

web/views/events.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,8 +269,9 @@ def search_events(request):
269269
country_filter = form.cleaned_data.get('country', None)
270270
theme_filter = form.cleaned_data.get('theme', None)
271271
audience_filter = form.cleaned_data.get('audience', None)
272+
include_past_events = form.cleaned_data.get('past',None)
272273

273-
events = get_filtered_events(search_filter, country_filter, theme_filter, audience_filter)
274+
events = get_filtered_events(search_filter, country_filter, theme_filter, audience_filter,include_past_events)
274275
country = {'country_code': country_filter}
275276
else:
276277
form = SearchEventForm(country_code=country['country_code'])

0 commit comments

Comments
 (0)