Ver Fonte

Fixes #13293: Limit interface selector for IP address to current device/VM

Jeremy Stretch há 1 ano atrás
pai
commit
0b7804c01c
1 ficheiros alterados com 9 adições e 0 exclusões
  1. 9 0
      netbox/ipam/forms/model_forms.py

+ 9 - 0
netbox/ipam/forms/model_forms.py

@@ -355,6 +355,15 @@ class IPAddressForm(TenancyForm, NetBoxModelForm):
             ):
             ):
                 self.initial['primary_for_parent'] = True
                 self.initial['primary_for_parent'] = True
 
 
+            if type(instance.assigned_object) is Interface:
+                self.fields['interface'].widget.add_query_params({
+                    'device_id': instance.assigned_object.device.pk,
+                })
+            elif type(instance.assigned_object) is VMInterface:
+                self.fields['vminterface'].widget.add_query_params({
+                    'virtual_machine_id': instance.assigned_object.virtual_machine.pk,
+                })
+
         # Disable object assignment fields if the IP address is designated as primary
         # Disable object assignment fields if the IP address is designated as primary
         if self.initial.get('primary_for_parent'):
         if self.initial.get('primary_for_parent'):
             self.fields['interface'].disabled = True
             self.fields['interface'].disabled = True