1
#!/usr/bin/env python -tt
4
# Created by Holger Rapp on 2009-03-15.
6
# Last Modified: $Date$
1
from haystack.forms import SearchForm
9
2
from django import forms
11
class SearchForm(forms.Form):
12
search = forms.CharField(max_length=200)
13
incl_wiki = forms.BooleanField(required=False,initial=True, label="Wiki")
14
incl_forum = forms.BooleanField(required=False,initial=True, label="Forum")
15
incl_news = forms.BooleanField(required=False,initial=True, label="News")
16
incl_maps = forms.BooleanField(required=False,initial=True, label="Maps")
17
incl_help = forms.BooleanField(required=False,initial=True, label="Online Help")
3
from datetime import date, timedelta
4
from haystack.query import SearchQuerySet
7
class WlSearchForm(SearchForm):
9
start_date = forms.DateField(
10
required=False, initial=date.today() - timedelta(365),
11
widget=forms.TextInput(attrs=
13
'placeholder': 'YYYY-MM-DD',
14
'class': 'datepicker',
16
incl_forum = forms.BooleanField(
17
required=False, initial=True, label='Forum')
18
incl_maps = forms.BooleanField(
19
required=False, initial=True, label='Maps')
20
incl_wiki = forms.BooleanField(
21
required=False, initial=True, label='Wiki')
22
incl_help = forms.BooleanField(
23
required=False, initial=True, label='Encyclopedia')
24
incl_news = forms.BooleanField(
25
required=False, initial=True, label='News')
27
def search(self, search_models):
28
"""Search per model"""
30
sqs = SearchQuerySet().models(search_models)
32
# Add start_date to the query
33
if self.cleaned_data['start_date']:
34
sqs = sqs.filter(date__gte=self.cleaned_data[
37
# Add Order to the query
38
sqs = sqs.order_by('-date')
41
result = sqs.auto_query(self.cleaned_data['q']).load_all()