1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Include WirelessLAN attached interfaces

This commit is contained in:
jeremystretch
2021-10-14 09:48:12 -04:00
parent 4c475c1b33
commit bdf359470e
4 changed files with 50 additions and 6 deletions

View File

@@ -1,5 +1,7 @@
from dcim.models import Interface
from netbox.views import generic
from utilities.tables import paginate_table
from utilities.utils import count_related
from . import filtersets, forms, tables
from .models import *
@@ -81,7 +83,9 @@ class WirelessLANGroupBulkDeleteView(generic.BulkDeleteView):
#
class WirelessLANListView(generic.ObjectListView):
queryset = WirelessLAN.objects.all()
queryset = WirelessLAN.objects.annotate(
interface_count=count_related(Interface, 'wireless_lans')
)
filterset = filtersets.WirelessLANFilterSet
filterset_form = forms.WirelessLANFilterForm
table = tables.WirelessLANTable
@@ -90,6 +94,17 @@ class WirelessLANListView(generic.ObjectListView):
class WirelessLANView(generic.ObjectView):
queryset = WirelessLAN.objects.all()
def get_extra_context(self, request, instance):
attached_interfaces = Interface.objects.restrict(request.user, 'view').filter(
wireless_lans=instance
)
interfaces_table = tables.WirelessLANInterfacesTable(attached_interfaces)
paginate_table(interfaces_table, request)
return {
'interfaces_table': interfaces_table,
}
class WirelessLANEditView(generic.ObjectEditView):
queryset = WirelessLAN.objects.all()