8927 refactor search

This commit is contained in:
Arthur 2022-09-27 08:38:14 -07:00 committed by jeremystretch
parent b2e3e0f54b
commit 499fcee2a1

View File

@ -153,19 +153,19 @@ class SearchView(View):
results = [] results = []
if form.is_valid(): if form.is_valid():
search_registry = default_search_engine.get_registry()
# If an object type has been specified, redirect to the dedicated view for it # If an object type has been specified, redirect to the dedicated view for it
if form.cleaned_data['obj_type']: if form.cleaned_data['obj_type']:
object_type = form.cleaned_data['obj_type'] object_type = form.cleaned_data['obj_type']
url = reverse(SEARCH_TYPES[object_type].url) url = reverse(search_registry[object_type].url)
return redirect(f"{url}?q={form.cleaned_data['q']}") return redirect(f"{url}?q={form.cleaned_data['q']}")
for obj_type in SEARCH_TYPES.keys(): for obj_type in search_registry.keys():
queryset = SEARCH_TYPES[obj_type].queryset.restrict(request.user, 'view') queryset = search_registry[obj_type].queryset.restrict(request.user, 'view')
filterset = SEARCH_TYPES[obj_type].filterset filterset = search_registry[obj_type].filterset
table = SEARCH_TYPES[obj_type].table table = search_registry[obj_type].table
url = SEARCH_TYPES[obj_type].url url = search_registry[obj_type].url
# Construct the results table for this object type # Construct the results table for this object type
filtered_queryset = filterset({'q': form.cleaned_data['q']}, queryset=queryset).qs filtered_queryset = filterset({'q': form.cleaned_data['q']}, queryset=queryset).qs