Bläddra i källkod

Fixes #2087: Don't overwrite existing vc_position of master device when creating a virtual chassis

Jeremy Stretch 7 år sedan
förälder
incheckning
5dd2f37035
1 ändrade filer med 6 tillägg och 1 borttagningar
  1. 6 1
      netbox/dcim/signals.py

+ 6 - 1
netbox/dcim/signals.py

@@ -11,8 +11,13 @@ def assign_virtualchassis_master(instance, created, **kwargs):
     """
     """
     When a VirtualChassis is created, automatically assign its master device to the VC.
     When a VirtualChassis is created, automatically assign its master device to the VC.
     """
     """
+    # Default to 1 but don't overwrite an existing position (see #2087)
+    if instance.master.vc_position is not None:
+        vc_position = instance.master.vc_position
+    else:
+        vc_position = 1
     if created:
     if created:
-        Device.objects.filter(pk=instance.master.pk).update(virtual_chassis=instance, vc_position=1)
+        Device.objects.filter(pk=instance.master.pk).update(virtual_chassis=instance, vc_position=vc_position)
 
 
 
 
 @receiver(pre_delete, sender=VirtualChassis)
 @receiver(pre_delete, sender=VirtualChassis)