Fixes #18878: Automatically assign a designated primary MAC address upon creation of a new interface (#20457)

This commit is contained in:
Jeremy Stretch
2025-09-30 14:26:52 -04:00
committed by GitHub
parent ba1c0d6d84
commit 28cc8e5c89
2 changed files with 23 additions and 3 deletions

View File

@@ -632,10 +632,17 @@ class BaseInterface(models.Model):
})
# Check that the primary MAC address (if any) is assigned to this interface
if self.primary_mac_address and self.primary_mac_address.assigned_object != self:
if (
self.primary_mac_address and
self.primary_mac_address.assigned_object is not None and
self.primary_mac_address.assigned_object != self
):
raise ValidationError({
'primary_mac_address': _("MAC address {mac_address} is not assigned to this interface.").format(
mac_address=self.primary_mac_address
'primary_mac_address': _(
"MAC address {mac_address} is assigned to a different interface ({interface})."
).format(
mac_address=self.primary_mac_address,
interface=self.primary_mac_address.assigned_object,
)
})