diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index 4822fa0ce..cb46d0222 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -1627,7 +1627,7 @@ class MACAddressFilterSet(NetBoxModelFilterSet): class Meta: model = MACAddress - fields = ('id', 'description', 'interface', 'assigned_object_type', 'assigned_object_id') + fields = ('id', 'description', 'is_primary', 'assigned_object_type', 'assigned_object_id') def search(self, queryset, name, value): if not value.strip(): diff --git a/netbox/dcim/forms/bulk_edit.py b/netbox/dcim/forms/bulk_edit.py index c9b94ae71..c6d2cb1d3 100644 --- a/netbox/dcim/forms/bulk_edit.py +++ b/netbox/dcim/forms/bulk_edit.py @@ -1289,7 +1289,6 @@ class MACAddressBulkEditForm(NetBoxModelBulkEditForm): model = MACAddress fieldsets = ( FieldSet('description'), - # FieldSet('vrf', 'mask_length', 'dns_name', name=_('Addressing')), ) nullable_fields = ( 'description', 'comments', diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index e2371059a..b9ca2d4da 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -1519,7 +1519,7 @@ class MACAddress(PrimaryModel): super().clean() if self.is_primary and self.assigned_object: - if self.assigned_object.mac_addresses.filter(is_primary=True).exists(): + if self.assigned_object.mac_addresses.filter(is_primary=True).exclude(pk=self.pk).exists(): raise ValidationError({ 'is_primary': _("There is already a primary MAC address for this interface.") }) diff --git a/netbox/virtualization/filtersets.py b/netbox/virtualization/filtersets.py index 51e250150..59e017c0e 100644 --- a/netbox/virtualization/filtersets.py +++ b/netbox/virtualization/filtersets.py @@ -9,7 +9,7 @@ from extras.models import ConfigTemplate from ipam.filtersets import PrimaryIPFilterSet from netbox.filtersets import OrganizationalModelFilterSet, NetBoxModelFilterSet from tenancy.filtersets import TenancyFilterSet, ContactModelFilterSet -from utilities.filters import MultiValueCharFilter, TreeNodeMultipleChoiceFilter, MultiValueMACAddressFilter +from utilities.filters import MultiValueCharFilter, MultiValueMACAddressFilter, TreeNodeMultipleChoiceFilter from .choices import * from .models import *