mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
* #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>
27 lines
934 B
Python
27 lines
934 B
Python
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'
|