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

Fixes #6123: Prevent device from being assigned to mismatched site and location

jeremystretch 4 лет назад
Родитель
Сommit
7439faad34
2 измененных файлов с 5 добавлено и 0 удалено
  1. 1 0
      docs/release-notes/version-2.11.md
  2. 4 0
      netbox/dcim/models/devices.py

+ 1 - 0
docs/release-notes/version-2.11.md

@@ -16,6 +16,7 @@
 * [#6106](https://github.com/netbox-community/netbox/issues/6106) - Allow assigning a virtual interface as the parent of an existing interface
 * [#6107](https://github.com/netbox-community/netbox/issues/6107) - Fix rack selection field on device form
 * [#6110](https://github.com/netbox-community/netbox/issues/6110) - Fix handling of TemplateColumn values for table export
+* [#6123](https://github.com/netbox-community/netbox/issues/6123) - Prevent device from being assigned to mismatched site and location
 * [#6130](https://github.com/netbox-community/netbox/issues/6130) - Improve display of assigned models in custom fields list
 
 ---

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

@@ -652,6 +652,10 @@ class Device(PrimaryModel, ConfigContextModel):
             raise ValidationError({
                 'rack': f"Rack {self.rack} does not belong to site {self.site}.",
             })
+        if self.location and self.site != self.location.site:
+            raise ValidationError({
+                'location': f"Location {self.location} does not belong to site {self.site}.",
+            })
         if self.rack and self.location and self.rack.location != self.location:
             raise ValidationError({
                 'rack': f"Rack {self.rack} does not belong to location {self.location}.",