Parcourir la source

Fixes #1543: Added missing virtual machine field to IP address and service filters

Jeremy Stretch il y a 7 ans
Parent
commit
0ea58ab268
1 fichiers modifiés avec 22 ajouts et 0 suppressions
  1. 22 0
      netbox/ipam/filters.py

+ 22 - 0
netbox/ipam/filters.py

@@ -10,6 +10,7 @@ from dcim.models import Site, Device, Interface
 from extras.filters import CustomFieldFilterSet
 from tenancy.models import Tenant
 from utilities.filters import NullableModelMultipleChoiceFilter, NumericInFilter
+from virtualization.models import VirtualMachine
 from .models import (
     Aggregate, IPAddress, IPADDRESS_ROLE_CHOICES, IPADDRESS_STATUS_CHOICES, Prefix, PREFIX_STATUS_CHOICES, RIR, Role,
     Service, VLAN, VLAN_STATUS_CHOICES, VLANGroup, VRF,
@@ -237,6 +238,17 @@ class IPAddressFilter(CustomFieldFilterSet, django_filters.FilterSet):
         to_field_name='name',
         label='Device (name)',
     )
+    virtual_machine_id = django_filters.ModelMultipleChoiceFilter(
+        name='interface__virtual_machine',
+        queryset=VirtualMachine.objects.all(),
+        label='Virtual machine (ID)',
+    )
+    virtual_machine = django_filters.ModelMultipleChoiceFilter(
+        name='interface__virtual_machine__name',
+        queryset=VirtualMachine.objects.all(),
+        to_field_name='name',
+        label='Virtual machine (name)',
+    )
     interface_id = django_filters.ModelMultipleChoiceFilter(
         queryset=Interface.objects.all(),
         label='Interface (ID)',
@@ -372,6 +384,16 @@ class ServiceFilter(django_filters.FilterSet):
         to_field_name='name',
         label='Device (name)',
     )
+    virtual_machine_id = django_filters.ModelMultipleChoiceFilter(
+        queryset=VirtualMachine.objects.all(),
+        label='Virtual machine (ID)',
+    )
+    virtual_machine = django_filters.ModelMultipleChoiceFilter(
+        name='virtual_machine__name',
+        queryset=VirtualMachine.objects.all(),
+        to_field_name='name',
+        label='Virtual machine (name)',
+    )
 
     class Meta:
         model = Service