]> git.parisson.com Git - telemeta.git/commitdiff
Begin of advance search with haystack
authorKaltar5679 <killian.mary@outlook.fr>
Thu, 23 Apr 2015 14:20:51 +0000 (16:20 +0200)
committerKaltar5679 <killian.mary@outlook.fr>
Thu, 23 Apr 2015 14:20:51 +0000 (16:20 +0200)
telemeta/forms/haystack_form.py
telemeta/haystack_urls.py

index 8a59095044bc00826ffaab7216a47b4297339800..f354b887998d29b623091f9be430fa0a4192c191 100644 (file)
@@ -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
index 76147a4ed4c652004ef746c47a43b3544a403010..32bee44dfb4fa9649c4ff375416d84e5fc35cc3e 100644 (file)
@@ -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<type>[A-Za-z0-9._-]+)/$', HaystackSearch(), name='haystack_search_type'),
-
+    url(r'^advance/$', HaystackAdvanceSearch(form_class=HayAdvanceSearchForm), name='haystack_search_advance'),
 )