Просмотр исходного кода

17614 Disallow removal of virtual chassis from device if set as master (#17731)

* 17614 Disallow removal of virtual chassis from device if set as master

* 17614 review changes

* 17614 review changes
Arthur Hanson 1 год назад
Родитель
Сommit
9a655d80e1
1 измененных файлов с 7 добавлено и 0 удалено
  1. 7 0
      netbox/dcim/models/devices.py

+ 7 - 0
netbox/dcim/models/devices.py

@@ -983,6 +983,13 @@ class Device(
                 'vc_position': _("A device assigned to a virtual chassis must have its position defined.")
             })
 
+        if hasattr(self, 'vc_master_for') and self.vc_master_for and self.vc_master_for != self.virtual_chassis:
+            raise ValidationError({
+                'virtual_chassis': _('Device cannot be removed from virtual chassis {virtual_chassis} because it is currently designated as its master.').format(
+                    virtual_chassis=self.vc_master_for
+                )
+            })
+
     def _instantiate_components(self, queryset, bulk_create=True):
         """
         Instantiate components for the device from the specified component templates.