From 09522cfb8458682c534d8833056dd3ea576f0b67 Mon Sep 17 00:00:00 2001 From: Tyler Kennedy Date: Wed, 21 Sep 2016 11:02:45 -0400 Subject: [PATCH] Use fq_list passthrough for legacy solr compatiblity with multiple exclusion tags. --- ckan/controllers/package.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ckan/controllers/package.py b/ckan/controllers/package.py index 772ce2c2b1e..150ae5afe52 100644 --- a/ckan/controllers/package.py +++ b/ckan/controllers/package.py @@ -206,6 +206,7 @@ def pager_url(q=None, page=None): c.fields_grouped = {} search_extras = {} fq = [] + fq_list = [] # FIXME: This seems moderately insane - it treats *every* argument # to the URL as a fq filter. We should have more knowledge of what # we expect to see passed in, no need to guess. @@ -239,7 +240,7 @@ def pager_url(q=None, page=None): ) # Tag each value with a domain so we can act on it later. - fq.append('{{!tag={p}}}{p}:{v}'.format( + fq_list.append('{{!tag={p}}}{p}:{v}'.format( p=param, v=filter_value )) @@ -292,6 +293,7 @@ def pager_url(q=None, page=None): data_dict = { 'q': q, 'fq': ' '.join(fq), + 'fq_list': fq_list, 'facet.field': [ # When faceting, exclude the facet group from the facet # counts. This lets us always get a count back, rather than