|
|
@@ -17,6 +17,7 @@
|
|
|
<%!
|
|
|
from desktop.views import commonheader, commonfooter
|
|
|
from django.utils.translation import ugettext as _
|
|
|
+import urllib
|
|
|
%>
|
|
|
|
|
|
<%namespace name="macros" file="macros.mako" />
|
|
|
@@ -78,27 +79,27 @@ ${ commonheader(_('Search'), "search", user, "40px") | n,unicode }
|
|
|
found_value = ""
|
|
|
for fq in solr_query['fq'].split('|'):
|
|
|
if fq and fq.split(':')[0] == fld['field']:
|
|
|
- found_value = fq.split(':')[1]
|
|
|
+ found_value = fq[fq.find(":")+1:]
|
|
|
remove_list = solr_query['fq'].split('|')
|
|
|
remove_list.remove(fq)
|
|
|
%>
|
|
|
% for group, count in macros.pairwise(fld['counts']):
|
|
|
%if count > 0 and group != "" and found_value == "":
|
|
|
% if fld['type'] == 'field':
|
|
|
- <li><a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${ solr_query['fq'] }|${ fld['field'] }:${ group }${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}">${group}</a> <span class="counter">(${ count })</span></li>
|
|
|
+ <li><a href='?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${ solr_query['fq'] }|${ fld['field'] }:"${ urllib.quote_plus(group.encode('ascii', 'xmlcharrefreplace')) }"${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}'>${group}</a> <span class="counter">(${ count })</span></li>
|
|
|
% endif
|
|
|
% if fld['type'] == 'range':
|
|
|
- <li><a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${ solr_query['fq'] }|${ fld['field'] }:[${ group } TO ${ str(int(group) + int(fld['gap']) - 1) }]${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}">${ group } (${ count })</a></li>
|
|
|
+ <li><a href='?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${ solr_query['fq'] }|${ fld['field'] }:["${ group }" TO "${ str(int(group) + int(fld['gap']) - 1) }"]${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}'>${ group } (${ count })</a></li>
|
|
|
% endif
|
|
|
% if fld['type'] == 'date':
|
|
|
<li class="dateFacetItem"><a href='?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${ solr_query['fq'] }|${ fld['field'] }:"${ group }"${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}'><span class="dateFacet">${ group }</span> (${ count })</a></li>
|
|
|
% endif
|
|
|
%endif
|
|
|
% if found_value != "":
|
|
|
- % if fld['type'] == 'field' and group == found_value:
|
|
|
+ % if fld['type'] == 'field' and '"' + group + '"' == found_value:
|
|
|
<li><strong>${ group }</strong> <a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}"><i class="icon-remove"></i></a></li>
|
|
|
%endif
|
|
|
- % if fld['type'] == 'range' and "[" + group + " TO " + str(int(group) + int(fld['gap']) - 1) + "]" == found_value:
|
|
|
+ % if fld['type'] == 'range' and '["' + group + '" TO "' + str(int(group) + int(fld['gap']) - 1) + '"]' == found_value:
|
|
|
<li><strong>${ group }</strong> <a href="?cores=${ current_cores }&query=${ solr_query['q'] }&fq=${'|'.join(remove_list)}${solr_query.get("sort") and '&sort=' + solr_query.get("sort") or ''}"><i class="icon-remove"></i></a></li>
|
|
|
%endif
|
|
|
% if fld['type'] == 'date' and '"' + group + '"' == found_value:
|