diff --git a/netbox/circuits/api/serializers.py b/netbox/circuits/api/serializers.py index 33f571c7e..340755b8a 100644 --- a/netbox/circuits/api/serializers.py +++ b/netbox/circuits/api/serializers.py @@ -3,7 +3,7 @@ from taggit_serializer.serializers import TaggitSerializer, TagListSerializerFie from circuits.constants import CIRCUIT_STATUS_CHOICES from circuits.models import Provider, Circuit, CircuitTermination, CircuitType -from dcim.api.serializers import NestedCableSerializer, NestedSiteSerializer +from dcim.api.serializers import NestedCableSerializer, NestedInterfaceSerializer, NestedSiteSerializer from extras.api.customfields import CustomFieldModelSerializer from tenancy.api.serializers import NestedTenantSerializer from utilities.api import ChoiceField, ValidatedModelSerializer, WritableNestedSerializer @@ -85,12 +85,14 @@ class NestedCircuitSerializer(WritableNestedSerializer): class CircuitTerminationSerializer(ValidatedModelSerializer): circuit = NestedCircuitSerializer() site = NestedSiteSerializer() + connected_endpoint = NestedInterfaceSerializer(read_only=True) cable = NestedCableSerializer(read_only=True) class Meta: model = CircuitTermination fields = [ - 'id', 'circuit', 'term_side', 'site', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info', 'cable', + 'id', 'circuit', 'term_side', 'site', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info', + 'connected_endpoint', 'cable', ] diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index 8a2ff2122..63362a71d 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -584,14 +584,13 @@ class NestedConsoleServerPortSerializer(WritableNestedSerializer): class ConsolePortSerializer(TaggitSerializer, ValidatedModelSerializer): device = NestedDeviceSerializer() - connected_endpoint = NestedConsoleServerPortSerializer(required=False, allow_null=True) + connected_endpoint = NestedConsoleServerPortSerializer(read_only=True) cable = NestedCableSerializer(read_only=True) tags = TagListSerializerField(required=False) class Meta: model = ConsolePort fields = ['id', 'device', 'name', 'connected_endpoint', 'connection_status', 'cable', 'tags'] - read_only_fields = ['connected_endpoint'] class NestedConsolePortSerializer(TaggitSerializer, ValidatedModelSerializer): @@ -633,14 +632,13 @@ class NestedPowerOutletSerializer(WritableNestedSerializer): class PowerPortSerializer(TaggitSerializer, ValidatedModelSerializer): device = NestedDeviceSerializer() - connected_endpoint = NestedPowerOutletSerializer(required=False, allow_null=True) + connected_endpoint = NestedPowerOutletSerializer(read_only=True) cable = NestedCableSerializer(read_only=True) tags = TagListSerializerField(required=False) class Meta: model = PowerPort fields = ['id', 'device', 'name', 'connected_endpoint', 'connection_status', 'cable', 'tags'] - read_only_fields = ['connected_endpoint'] class NestedPowerPortSerializer(TaggitSerializer, ValidatedModelSerializer): diff --git a/netbox/dcim/tests/test_api.py b/netbox/dcim/tests/test_api.py index f165b39a7..86616389c 100644 --- a/netbox/dcim/tests/test_api.py +++ b/netbox/dcim/tests/test_api.py @@ -2003,7 +2003,6 @@ class ConsolePortTest(APITestCase): data = { 'device': self.device.pk, 'name': 'Test Console Port X', - 'connected_endpoint': consoleserverport.pk, } url = reverse('dcim-api:consoleport-detail', kwargs={'pk': self.consoleport1.pk}) @@ -2013,7 +2012,6 @@ class ConsolePortTest(APITestCase): self.assertEqual(ConsolePort.objects.count(), 3) consoleport1 = ConsolePort.objects.get(pk=response.data['id']) self.assertEqual(consoleport1.name, data['name']) - self.assertEqual(consoleport1.connected_endpoint_id, data['connected_endpoint']) def test_delete_consoleport(self): @@ -2229,7 +2227,6 @@ class PowerPortTest(APITestCase): data = { 'device': self.device.pk, 'name': 'Test Power Port X', - 'connected_endpoint': poweroutlet.pk, } url = reverse('dcim-api:powerport-detail', kwargs={'pk': self.powerport1.pk}) @@ -2239,7 +2236,6 @@ class PowerPortTest(APITestCase): self.assertEqual(PowerPort.objects.count(), 3) powerport1 = PowerPort.objects.get(pk=response.data['id']) self.assertEqual(powerport1.name, data['name']) - self.assertEqual(powerport1.connected_endpoint_id, data['connected_endpoint']) def test_delete_powerport(self):