| 12345678910111213141516171819202122232425262728293031 |
- from django import forms
- from django.utils.translation import ugettext_lazy as _
- from django.forms.widgets import Input
- from haystack.forms import FacetedSearchForm
-
-
- class SearchInput(Input):
- '''
- Defining a search type widget
-
- This is an HTML5 thing and works nicely with Safari, other browsers default
- back to using the default "text" type
- '''
- input_type = 'search'
-
-
- class MultiFacetedSearchForm(FacetedSearchForm):
- '''
- An extension of the regular faceted search form to alow for multiple facets
- '''
- q = forms.CharField(required=False, label=_('Search'), widget=SearchInput({"placeholder": _('Search')}))
-
- def search(self):
- '''
- Overriding the search method to allow for multiple facets
- '''
- sqs = super(FacetedSearchForm, self).search()
- if hasattr(self, 'cleaned_data') and 'selected_facets' in self.cleaned_data:
- for f in self.cleaned_data['selected_facets'].split("|"):
- sqs = sqs.narrow(f)
- return sqs
|