Skip to content

Commit f0a89a0

Browse files
committed
Adapt for fulltext search provider configuration format change
1 parent 8131ec7 commit f0a89a0

File tree

1 file changed

+23
-15
lines changed

1 file changed

+23
-15
lines changed

src/qwc2_viewer.py

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1212,24 +1212,32 @@ def filter_item_search_providers(self, item, identity):
12121212
for search_provider in item['searchProviders']:
12131213
if (
12141214
'provider' in search_provider
1215-
and search_provider['provider'] == 'solr'
1215+
and (
1216+
search_provider['provider'] == 'solr' or
1217+
search_provider['provider'] == 'fulltext'
1218+
)
12161219
):
1217-
# filter Solr facets by permissions
1220+
# filter fulltext search facets by permissions
1221+
# NOTE: adapt from old syntax solr -> fulltext, move 'default' and 'layers' below 'params'
1222+
search_provider['provider'] = 'fulltext'
1223+
search_provider['params'] = search_provider.get('params', {})
1224+
default_facets = search_provider['params'].get('default', search_provider.get('default', []))
1225+
layer_facets = search_provider['params'].get('layers', search_provider.get('layers', {}))
1226+
1227+
search_provider['params']['default'] = [
1228+
facet for facet in default_facets
1229+
if facet in permitted_solr_facets or all_facets_permitted
1230+
]
12181231
if 'default' in search_provider:
1219-
search_provider['default'] = [
1220-
facet for facet in search_provider['default']
1221-
if facet in permitted_solr_facets or all_facets_permitted
1222-
]
1232+
del search_provider['default']
1233+
1234+
layers = {}
1235+
for layer, facet in layer_facets.items():
1236+
if facet in permitted_solr_facets or all_facets_permitted:
1237+
layers[layer] = facet
1238+
search_provider['params']['layers'] = layers
12231239
if 'layers' in search_provider:
1224-
layers = {}
1225-
for layer, facet in search_provider['layers'].items():
1226-
if facet in permitted_solr_facets or all_facets_permitted:
1227-
layers[layer] = facet
1228-
if layers:
1229-
search_provider['layers'] = layers
1230-
else:
1231-
# remove if no layer search permitted
1232-
del search_provider['layers']
1240+
del search_provider['layers']
12331241

12341242
# filter layer searchterms
12351243
self.filter_layer_searchterms(item, permitted_solr_facets)

0 commit comments

Comments
 (0)