Browse Source

21550 call snapshot() before save

Arthur 22 hours ago
parent
commit
ccd5a756e5
3 changed files with 6 additions and 0 deletions
  1. 1 0
      netbox/dcim/forms/bulk_import.py
  2. 3 0
      netbox/dcim/views.py
  3. 2 0
      netbox/ipam/forms/bulk_import.py

+ 1 - 0
netbox/dcim/forms/bulk_import.py

@@ -1386,6 +1386,7 @@ class MACAddressImportForm(PrimaryModelImportForm):
 
         # Assign the MAC address as primary for its interface, if designated as such
         if interface and self.cleaned_data['is_primary'] and self.instance.pk:
+            interface.snapshot()
             interface.primary_mac_address = self.instance
             interface.save()
 

+ 3 - 0
netbox/dcim/views.py

@@ -2733,6 +2733,7 @@ class DeviceBulkImportView(generic.BulkImportView):
         # For child devices, save the reverse relation to the parent device bay
         if parent_bay:
             device_bay = parent_bay
+            device_bay.snapshot()
             device_bay.installed_device = obj
             device_bay.save()
 
@@ -4099,9 +4100,11 @@ class VirtualChassisEditView(ObjectPermissionRequiredMixin, GetReturnURLMixin, V
                 members = formset.save(commit=False)
                 devices = Device.objects.filter(pk__in=[m.pk for m in members])
                 for device in devices:
+                    device.snapshot()
                     device.vc_position = None
                     device.save()
                 for member in members:
+                    member.snapshot()
                     member.save()
 
             return redirect(virtual_chassis.get_absolute_url())

+ 2 - 0
netbox/ipam/forms/bulk_import.py

@@ -424,6 +424,7 @@ class IPAddressImportForm(PrimaryModelImportForm):
         # Set as primary for device/VM
         if self.cleaned_data.get('is_primary') is not None:
             parent = self.cleaned_data.get('device') or self.cleaned_data.get('virtual_machine')
+            parent.snapshot()
             if self.instance.address.version == 4:
                 parent.primary_ip4 = ipaddress if self.cleaned_data.get('is_primary') else None
             elif self.instance.address.version == 6:
@@ -433,6 +434,7 @@ class IPAddressImportForm(PrimaryModelImportForm):
         # Set as OOB for device
         if self.cleaned_data.get('is_oob') is not None:
             parent = self.cleaned_data.get('device')
+            parent.snapshot()
             parent.oob_ip = ipaddress if self.cleaned_data.get('is_oob') else None
             parent.save()