From: Kaltar5679 Date: Thu, 23 Apr 2015 14:20:51 +0000 (+0200) Subject: Begin of advance search with haystack X-Git-Tag: 1.6a^2~15^2~87 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=ed7afd57477185aadf8114dc4c9e79366332bd73;p=telemeta.git Begin of advance search with haystack --- diff --git a/telemeta/forms/haystack_form.py b/telemeta/forms/haystack_form.py index 8a590950..f354b887 100644 --- a/telemeta/forms/haystack_form.py +++ b/telemeta/forms/haystack_form.py @@ -31,3 +31,18 @@ class HaySearchFormCollection(SearchForm): return sqs + +class HayAdvanceSearchForm(ModelSearchForm): + + title = forms.CharField(required=False) + + def search(self): + sqs=SearchQuerySet().load_all() + + if not self.is_valid(): + return sqs + + if self.cleaned_data['q']: + sqs=sqs.filter(content__contains=self.cleaned_data['q']) + + return sqs diff --git a/telemeta/haystack_urls.py b/telemeta/haystack_urls.py index 76147a4e..32bee44d 100644 --- a/telemeta/haystack_urls.py +++ b/telemeta/haystack_urls.py @@ -4,11 +4,11 @@ from telemeta.views.haystack_search import * from haystack.query import SearchQuerySet from haystack.views import SearchView from haystack.forms import * -from telemeta.forms.haystack_form import HaySearchFormItem, HaySearchFormCollection +from telemeta.forms.haystack_form import HaySearchFormItem, HaySearchFormCollection, HayAdvanceSearchForm urlpatterns = patterns('', url(r'^$', HaystackSearch(form_class=HaySearchFormItem), name='haystack_search'), url(r'^(?P[A-Za-z0-9._-]+)/$', HaystackSearch(), name='haystack_search_type'), - + url(r'^advance/$', HaystackAdvanceSearch(form_class=HayAdvanceSearchForm), name='haystack_search_advance'), )