3 from django
.utils
.http
import urlunquote
, urlquote
4 from django
.utils
.encoding
import smart_text
5 from django
import template
7 register
= template
.Library()
10 @register.simple_tag(takes_context
=True, name
="show_facet")
11 def do_show_facet(context
, facet_name
):
13 if not 'fields' in context
['facets']:
16 facets
= context
['facets']['fields'][facet_name
]
17 selected_facets
= context
['form']['selected_facets'].value()
18 if not selected_facets
:
21 path
= context
['request'].get_full_path()
24 long_facet_name
= "__".join([facet_name
, urlquote(f
[0])])
26 if urlunquote(long_facet_name
) in selected_facets
:
27 html
+= "<dd><a href='%s'><input onclick='window.location=\"%s\"; return true;'type='checkbox' checked='checked'/> %s</a> (%s)</dd>" % (path
.replace(
28 "&selected_facets=" + long_facet_name
,
30 "?selected_facets=" + long_facet_name
,
33 "&selected_facets=" + long_facet_name
,
35 "?selected_facets=" + long_facet_name
,
41 if path
.endswith('/'):
42 html
+= "<dd><a href='%s?selected_facets=%s'><input onclick='window.location=\"%s?selected_facets=%s\"; return true;'type='checkbox' />%s</a> (%s)</dd>" % (
43 path
, long_facet_name
, path
, long_facet_name
, smart_text(f
[0]), f
[1])
45 html
+= "<dd><a href='%s&selected_facets=%s'><input onclick='window.location=\"%s&selected_facets=%s\"; return true;'type='checkbox' /> %s</a> (%s)</dd>" % (
46 path
, long_facet_name
, path
, long_facet_name
, smart_text(f
[0]), f
[1])