1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Closes #12133: Move any instance mutations inside clean() to save()

This commit is contained in:
jeremystretch
2023-04-03 16:26:07 -04:00
parent 8a684adf66
commit b032742418
6 changed files with 27 additions and 14 deletions

View File

@ -169,8 +169,6 @@ class VirtualMachine(PrimaryModel, ConfigContextModel):
raise ValidationError({
'cluster': f'The selected cluster ({self.cluster}) is not assigned to this site ({self.site}).'
})
elif self.cluster:
self.site = self.cluster.site
# Validate assigned cluster device
if self.device and not self.cluster:
@ -201,6 +199,14 @@ class VirtualMachine(PrimaryModel, ConfigContextModel):
field: f"The specified IP address ({ip}) is not assigned to this VM.",
})
def save(self, *args, **kwargs):
# Assign site from cluster if not set
if self.cluster and not self.site:
self.site = self.cluster.site
super().save(*args, **kwargs)
def get_status_color(self):
return VirtualMachineStatusChoices.colors.get(self.status)