From: Frédéric Péters Date: Mon, 16 Sep 2013 19:09:42 +0000 (+0200) Subject: display tags in episode view X-Git-Tag: v2021~807 X-Git-Url: https://git.0d.be/?p=panikweb.git;a=commitdiff_plain;h=f204be4ee1302e437680396a443e22639d6ed9dc display tags in episode view --- diff --git a/panikweb/search.py b/panikweb/search.py index 39f3371..d1617e2 100644 --- a/panikweb/search.py +++ b/panikweb/search.py @@ -116,6 +116,20 @@ from haystack.views import search_view_factory, FacetedSearchView from haystack.forms import FacetedSearchForm, SearchForm +class GlobalSearchForm(FacetedSearchForm): + def no_query_found(self): + sqs = super(GlobalSearchForm, self).no_query_found() + if self.selected_facets: + sqs = self.searchqueryset.all() + for facet in self.selected_facets: + if ":" not in facet: + continue + field, value = facet.split(":", 1) + if value: + sqs = sqs.narrow(u'%s:"%s"' % (field, sqs.query.clean(value))) + return sqs + + class SearchView(FacetedSearchView): def extra_context(self): context = super(SearchView, self).extra_context() @@ -131,7 +145,7 @@ class SearchView(FacetedSearchView): sqs = SearchQuerySet().models(Emission, Episode, NewsItem).facet('categories').facet('tags') view = search_view_factory(SearchView, - form_class=FacetedSearchForm, + form_class=GlobalSearchForm, searchqueryset=sqs) diff --git a/panikweb_templates/templates/episodes/detail.html b/panikweb_templates/templates/episodes/detail.html index bd01733..73d7d6c 100644 --- a/panikweb_templates/templates/episodes/detail.html +++ b/panikweb_templates/templates/episodes/detail.html @@ -41,10 +41,10 @@ {% if episode.redif %}
Redifusion
{{ redif }}
{% endif %} {% endif %} - {% if episode.tagList %} + {% if episode.tags.all %} {% endif %} diff --git a/panikweb_templates/templates/search/search.html b/panikweb_templates/templates/search/search.html index b3339d6..5c939b8 100644 --- a/panikweb_templates/templates/search/search.html +++ b/panikweb_templates/templates/search/search.html @@ -8,7 +8,7 @@
{{ form.as_table }}
- {% if query %} + {% if query or selected_tags %}