]> git.0d.be Git - panikweb.git/blob - panikweb/search.py
add search
[panikweb.git] / panikweb / search.py
1 from haystack.views import search_view_factory, FacetedSearchView
2 from haystack.forms import FacetedSearchForm
3 from haystack.query import SearchQuerySet
4
5
6 class SearchView(FacetedSearchView):
7     def extra_context(self):
8         context = super(SearchView, self).extra_context()
9         context['selected_categories'] = [
10                 x.split(':', 1)[1] for x in self.request.GET.getlist('selected_facets')
11                 if x.startswith('categories_exact')]
12         context['selected_tags'] = [
13                 x.split(':', 1)[1] for x in self.request.GET.getlist('selected_facets')
14                 if x.startswith('tags_exact')]
15         return context
16
17 sqs = SearchQuerySet().facet('categories').facet('tags')
18
19 view = search_view_factory(SearchView,
20         form_class=FacetedSearchForm,
21         searchqueryset=sqs)