-class ListenArchivesForm(SearchForm):
+class ListenArchivesForm(FacetedSearchForm):
def no_query_found(self):
return self.searchqueryset.all()
return sqs.load_all()
-class ListenArchivesView(haystack.views.SearchView):
+class ListenArchivesView(FacetedSearchView):
template = 'listen/archives.html'
def __init__(self):
- sqs = RelatedSearchQuerySet().filter(django_ct='emissions.soundfile').order_by('-date')
+ sqs = RelatedSearchQuerySet().models(SoundFile).facet('categories').order_by('-date')
super(ListenArchivesView, self).__init__(searchqueryset=sqs,
form_class=ListenArchivesForm, results_per_page=20)
def extra_context(self):
context = super(ListenArchivesView, self).extra_context()
context['sectionName'] = "Listen"
+ context['selected_categories'] = [
+ x.split(':', 1)[1] for x in self.request.GET.getlist('selected_facets')
+ if x.startswith('categories_exact')]
+ context['facets']['fields']['categories'].sort()
return context
listenArchives = search_view_factory(ListenArchivesView)