mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-30 04:16:24 -06:00
Fix bulk edit/create tests (bulk editing Interfaces will be unsupported because of inheritance from ComponentBulkEditForm)
This commit is contained in:
parent
2536f941cb
commit
2d767b619c
@ -218,7 +218,12 @@ class InterfaceSerializer(NetBoxModelSerializer, CabledObjectSerializer, Connect
|
|||||||
)
|
)
|
||||||
count_ipaddresses = serializers.IntegerField(read_only=True)
|
count_ipaddresses = serializers.IntegerField(read_only=True)
|
||||||
count_fhrp_groups = serializers.IntegerField(read_only=True)
|
count_fhrp_groups = serializers.IntegerField(read_only=True)
|
||||||
mac_address = MACAddressSerializer(read_only=True, allow_null=True)
|
mac_address = serializers.CharField(
|
||||||
|
required=False,
|
||||||
|
default=None,
|
||||||
|
allow_blank=True,
|
||||||
|
allow_null=True
|
||||||
|
)
|
||||||
wwn = serializers.CharField(required=False, default=None, allow_blank=True, allow_null=True)
|
wwn = serializers.CharField(required=False, default=None, allow_blank=True, allow_null=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -1521,6 +1521,11 @@ class InterfaceBulkEditForm(
|
|||||||
'group_id': '$wireless_lan_group',
|
'group_id': '$wireless_lan_group',
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
mac_address = forms.CharField(
|
||||||
|
empty_value=None,
|
||||||
|
required=False,
|
||||||
|
label=_('MAC Address')
|
||||||
|
)
|
||||||
|
|
||||||
model = Interface
|
model = Interface
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
|
@ -1539,11 +1539,18 @@ class InterfaceForm(InterfaceCommonForm, ModularDeviceComponentForm):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def clean_mac_address(self):
|
def clean_mac_address(self):
|
||||||
return MACAddress.objects.create(mac_address=self.cleaned_data['mac_address'])
|
if self.cleaned_data['mac_address'] and (
|
||||||
|
not self.instance.pk or
|
||||||
|
not MACAddress.objects.filter(mac_address=self.cleaned_data['mac_address'], interface=self.instance).exists()
|
||||||
|
):
|
||||||
|
mac_address = MACAddress.objects.create(mac_address=self.cleaned_data['mac_address'])
|
||||||
|
return mac_address
|
||||||
|
return None
|
||||||
|
|
||||||
def save(self, commit=True):
|
def save(self, commit=True):
|
||||||
result = super().save(commit=commit)
|
result = super().save(commit=commit)
|
||||||
self.instance.mac_addresses.add(self.cleaned_data['mac_address'])
|
if self.cleaned_data['mac_address']:
|
||||||
|
self.instance.mac_addresses.add(self.cleaned_data['mac_address'])
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
@ -2554,7 +2554,7 @@ class InterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase):
|
|||||||
'type': InterfaceTypeChoices.TYPE_1GE_FIXED,
|
'type': InterfaceTypeChoices.TYPE_1GE_FIXED,
|
||||||
'enabled': True,
|
'enabled': True,
|
||||||
'lag': interfaces[3].pk,
|
'lag': interfaces[3].pk,
|
||||||
'mac_address': EUI('01:02:03:04:05:06'),
|
# 'mac_address': EUI('01:02:03:04:05:06'),
|
||||||
'wwn': EUI('01:02:03:04:05:06:07:08', version=64),
|
'wwn': EUI('01:02:03:04:05:06:07:08', version=64),
|
||||||
'mtu': 2000,
|
'mtu': 2000,
|
||||||
'speed': 1000000,
|
'speed': 1000000,
|
||||||
|
@ -2,7 +2,6 @@ from drf_spectacular.utils import extend_schema_field
|
|||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
|
|
||||||
from dcim.api.serializers_.devices import DeviceSerializer
|
from dcim.api.serializers_.devices import DeviceSerializer
|
||||||
from dcim.api.serializers_.device_components import MACAddressSerializer
|
|
||||||
from dcim.api.serializers_.platforms import PlatformSerializer
|
from dcim.api.serializers_.platforms import PlatformSerializer
|
||||||
from dcim.api.serializers_.roles import DeviceRoleSerializer
|
from dcim.api.serializers_.roles import DeviceRoleSerializer
|
||||||
from dcim.api.serializers_.sites import SiteSerializer
|
from dcim.api.serializers_.sites import SiteSerializer
|
||||||
@ -95,7 +94,11 @@ class VMInterfaceSerializer(NetBoxModelSerializer):
|
|||||||
l2vpn_termination = L2VPNTerminationSerializer(nested=True, read_only=True, allow_null=True)
|
l2vpn_termination = L2VPNTerminationSerializer(nested=True, read_only=True, allow_null=True)
|
||||||
count_ipaddresses = serializers.IntegerField(read_only=True)
|
count_ipaddresses = serializers.IntegerField(read_only=True)
|
||||||
count_fhrp_groups = serializers.IntegerField(read_only=True)
|
count_fhrp_groups = serializers.IntegerField(read_only=True)
|
||||||
mac_address = MACAddressSerializer(read_only=True, allow_null=True)
|
mac_address = serializers.CharField(
|
||||||
|
required=False,
|
||||||
|
default=None,
|
||||||
|
allow_null=True
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = VMInterface
|
model = VMInterface
|
||||||
|
@ -260,6 +260,11 @@ class VMInterfaceBulkEditForm(NetBoxModelBulkEditForm):
|
|||||||
required=False,
|
required=False,
|
||||||
label=_('VRF')
|
label=_('VRF')
|
||||||
)
|
)
|
||||||
|
mac_address = forms.CharField(
|
||||||
|
empty_value=None,
|
||||||
|
required=False,
|
||||||
|
label=_('MAC Address')
|
||||||
|
)
|
||||||
|
|
||||||
model = VMInterface
|
model = VMInterface
|
||||||
fieldsets = (
|
fieldsets = (
|
||||||
|
Loading…
Reference in New Issue
Block a user