connected_endpoint must be read-only on termination serializers

This commit is contained in:
Jeremy Stretch 2018-10-31 16:12:36 -04:00
parent 4e9ace39ce
commit cd243a90d0
3 changed files with 6 additions and 10 deletions

View File

@ -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',
]

View File

@ -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):

View File

@ -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):