Parcourir la source

Fixes #1334: Fix server error when adding an interface to a device

Jeremy Stretch il y a 7 ans
Parent
commit
74828e1409
4 fichiers modifiés avec 6 ajouts et 6 suppressions
  1. 1 1
      netbox/circuits/forms.py
  2. 2 2
      netbox/dcim/forms.py
  3. 2 2
      netbox/ipam/forms.py
  4. 1 1
      netbox/tenancy/forms.py

+ 1 - 1
netbox/circuits/forms.py

@@ -244,7 +244,7 @@ class CircuitTerminationForm(BootstrapMixin, ChainedFieldsMixin, forms.ModelForm
         # Initialize helper selectors
         instance = kwargs.get('instance')
         if instance and instance.interface is not None:
-            initial = kwargs.get('initial', {})
+            initial = kwargs.get('initial', {}).copy()
             initial['rack'] = instance.interface.device.rack
             initial['device'] = instance.interface.device
             kwargs['initial'] = initial

+ 2 - 2
netbox/dcim/forms.py

@@ -630,7 +630,7 @@ class DeviceForm(BootstrapMixin, TenancyForm, CustomFieldForm):
         instance = kwargs.get('instance')
         # Using hasattr() instead of "is not None" to avoid RelatedObjectDoesNotExist on required field
         if instance and hasattr(instance, 'device_type'):
-            initial = kwargs.get('initial', {})
+            initial = kwargs.get('initial', {}).copy()
             initial['manufacturer'] = instance.device_type.manufacturer
             kwargs['initial'] = initial
 
@@ -1479,7 +1479,7 @@ class InterfaceCreateForm(DeviceComponentForm):
     def __init__(self, *args, **kwargs):
 
         # Set interfaces enabled by default
-        kwargs['initial'] = kwargs.get('initial', {})
+        kwargs['initial'] = kwargs.get('initial', {}).copy()
         kwargs['initial'].update({'enabled': True})
 
         super(InterfaceCreateForm, self).__init__(*args, **kwargs)

+ 2 - 2
netbox/ipam/forms.py

@@ -217,7 +217,7 @@ class PrefixForm(BootstrapMixin, TenancyForm, CustomFieldForm):
 
         # Initialize helper selectors
         instance = kwargs.get('instance')
-        initial = kwargs.get('initial', {})
+        initial = kwargs.get('initial', {}).copy()
         if instance and instance.vlan is not None:
             initial['vlan_group'] = instance.vlan.group
         kwargs['initial'] = initial
@@ -492,7 +492,7 @@ class IPAddressForm(BootstrapMixin, TenancyForm, ReturnURLForm, CustomFieldForm)
 
         # Initialize helper selectors
         instance = kwargs.get('instance')
-        initial = kwargs.get('initial', {})
+        initial = kwargs.get('initial', {}).copy()
         if instance and instance.interface is not None:
             initial['interface_site'] = instance.interface.device.site
             initial['interface_rack'] = instance.interface.device.rack

+ 1 - 1
netbox/tenancy/forms.py

@@ -102,7 +102,7 @@ class TenancyForm(ChainedFieldsMixin, forms.Form):
         # Initialize helper selector
         instance = kwargs.get('instance')
         if instance and instance.tenant is not None:
-            initial = kwargs.get('initial', {})
+            initial = kwargs.get('initial', {}).copy()
             initial['tenant_group'] = instance.tenant.group
             kwargs['initial'] = initial