From ed7afd57477185aadf8114dc4c9e79366332bd73 Mon Sep 17 00:00:00 2001 From: Kaltar5679 Date: Thu, 23 Apr 2015 16:20:51 +0200 Subject: [PATCH] Begin of advance search with haystack --- telemeta/forms/haystack_form.py | 15 +++++++++++++++ telemeta/haystack_urls.py | 4 ++-- 2 files changed, 17 insertions(+), 2 deletions(-) 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'), ) -- 2.39.5