mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
8927 plugin search (#10489)
* #7016 base search classes * 7016 add search indexes * 7016 add search indexes * 7016 add search indexes * 7016 add search indexes * 7016 add search indexes * 7016 add search indexes * 8927 refactor search * 8927 refactor search * 8927 refactor search * 8927 refactor search * 8927 get search choices working * 8927 cleanup - optimize * 8927 use backend search function * 8927 fix for plugin search * 8927 add docs * Move search app to a module under netbox/ * Utilize global registry to register model search classes * Build search form options from registry * Determine search categories from model app by default * Enable dynamic search registration for plugins * Update docs & improve plugin support * Clean up search backend class * Docs for #8927 Co-authored-by: jeremystretch <jstretch@ns1.com>
This commit is contained in:
26
netbox/wireless/search.py
Normal file
26
netbox/wireless/search.py
Normal file
@@ -0,0 +1,26 @@
|
||||
import wireless.filtersets
|
||||
import wireless.tables
|
||||
from dcim.models import Interface
|
||||
from netbox.search import SearchIndex, register_search
|
||||
from utilities.utils import count_related
|
||||
from wireless.models import WirelessLAN, WirelessLink
|
||||
|
||||
|
||||
@register_search()
|
||||
class WirelessLANIndex(SearchIndex):
|
||||
model = WirelessLAN
|
||||
queryset = WirelessLAN.objects.prefetch_related('group', 'vlan').annotate(
|
||||
interface_count=count_related(Interface, 'wireless_lans')
|
||||
)
|
||||
filterset = wireless.filtersets.WirelessLANFilterSet
|
||||
table = wireless.tables.WirelessLANTable
|
||||
url = 'wireless:wirelesslan_list'
|
||||
|
||||
|
||||
@register_search()
|
||||
class WirelessLinkIndex(SearchIndex):
|
||||
model = WirelessLink
|
||||
queryset = WirelessLink.objects.prefetch_related('interface_a__device', 'interface_b__device')
|
||||
filterset = wireless.filtersets.WirelessLinkFilterSet
|
||||
table = wireless.tables.WirelessLinkTable
|
||||
url = 'wireless:wirelesslink_list'
|
Reference in New Issue
Block a user