mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-25 00:36:11 -06:00
8927 refactor search
This commit is contained in:
parent
b2e3e0f54b
commit
499fcee2a1
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user