|
@@ -8,7 +8,7 @@ from django.shortcuts import get_object_or_404
|
|
|
from rest_framework.decorators import detail_route
|
|
|
from rest_framework.mixins import ListModelMixin
|
|
|
from rest_framework.response import Response
|
|
|
-from rest_framework.viewsets import GenericViewSet, ModelViewSet, ViewSet
|
|
|
+from rest_framework.viewsets import GenericViewSet, ViewSet
|
|
|
|
|
|
from dcim import filters
|
|
|
from dcim.models import (
|
|
@@ -20,9 +20,7 @@ from dcim.models import (
|
|
|
from extras.api.serializers import RenderedGraphSerializer
|
|
|
from extras.api.views import CustomFieldModelViewSet
|
|
|
from extras.models import Graph, GRAPH_TYPE_INTERFACE, GRAPH_TYPE_SITE
|
|
|
-from utilities.api import (
|
|
|
- IsAuthenticatedOrLoginNotRequired, FieldChoicesViewSet, ServiceUnavailable, WritableSerializerMixin,
|
|
|
-)
|
|
|
+from utilities.api import IsAuthenticatedOrLoginNotRequired, FieldChoicesViewSet, ModelViewSet, ServiceUnavailable
|
|
|
from . import serializers
|
|
|
from .exceptions import MissingFilterException
|
|
|
|
|
@@ -47,7 +45,7 @@ class DCIMFieldChoicesViewSet(FieldChoicesViewSet):
|
|
|
|
|
|
|
|
|
|
|
|
-class RegionViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class RegionViewSet(ModelViewSet):
|
|
|
queryset = Region.objects.all()
|
|
|
serializer_class = serializers.RegionSerializer
|
|
|
write_serializer_class = serializers.WritableRegionSerializer
|
|
@@ -58,7 +56,7 @@ class RegionViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
|
|
|
|
|
|
|
|
|
-class SiteViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
|
|
|
+class SiteViewSet(CustomFieldModelViewSet):
|
|
|
queryset = Site.objects.select_related('region', 'tenant')
|
|
|
serializer_class = serializers.SiteSerializer
|
|
|
write_serializer_class = serializers.WritableSiteSerializer
|
|
@@ -79,7 +77,7 @@ class SiteViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
|
|
|
|
|
|
|
|
|
|
|
|
-class RackGroupViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class RackGroupViewSet(ModelViewSet):
|
|
|
queryset = RackGroup.objects.select_related('site')
|
|
|
serializer_class = serializers.RackGroupSerializer
|
|
|
write_serializer_class = serializers.WritableRackGroupSerializer
|
|
@@ -100,7 +98,7 @@ class RackRoleViewSet(ModelViewSet):
|
|
|
|
|
|
|
|
|
|
|
|
-class RackViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
|
|
|
+class RackViewSet(CustomFieldModelViewSet):
|
|
|
queryset = Rack.objects.select_related('site', 'group__site', 'tenant')
|
|
|
serializer_class = serializers.RackSerializer
|
|
|
write_serializer_class = serializers.WritableRackSerializer
|
|
@@ -131,7 +129,7 @@ class RackViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
|
|
|
|
|
|
|
|
|
|
|
|
-class RackReservationViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class RackReservationViewSet(ModelViewSet):
|
|
|
queryset = RackReservation.objects.select_related('rack')
|
|
|
serializer_class = serializers.RackReservationSerializer
|
|
|
write_serializer_class = serializers.WritableRackReservationSerializer
|
|
@@ -156,7 +154,7 @@ class ManufacturerViewSet(ModelViewSet):
|
|
|
|
|
|
|
|
|
|
|
|
-class DeviceTypeViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
|
|
|
+class DeviceTypeViewSet(CustomFieldModelViewSet):
|
|
|
queryset = DeviceType.objects.select_related('manufacturer')
|
|
|
serializer_class = serializers.DeviceTypeSerializer
|
|
|
write_serializer_class = serializers.WritableDeviceTypeSerializer
|
|
@@ -167,42 +165,42 @@ class DeviceTypeViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
|
|
|
|
|
|
|
|
|
|
|
|
-class ConsolePortTemplateViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class ConsolePortTemplateViewSet(ModelViewSet):
|
|
|
queryset = ConsolePortTemplate.objects.select_related('device_type__manufacturer')
|
|
|
serializer_class = serializers.ConsolePortTemplateSerializer
|
|
|
write_serializer_class = serializers.WritableConsolePortTemplateSerializer
|
|
|
filter_class = filters.ConsolePortTemplateFilter
|
|
|
|
|
|
|
|
|
-class ConsoleServerPortTemplateViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class ConsoleServerPortTemplateViewSet(ModelViewSet):
|
|
|
queryset = ConsoleServerPortTemplate.objects.select_related('device_type__manufacturer')
|
|
|
serializer_class = serializers.ConsoleServerPortTemplateSerializer
|
|
|
write_serializer_class = serializers.WritableConsoleServerPortTemplateSerializer
|
|
|
filter_class = filters.ConsoleServerPortTemplateFilter
|
|
|
|
|
|
|
|
|
-class PowerPortTemplateViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class PowerPortTemplateViewSet(ModelViewSet):
|
|
|
queryset = PowerPortTemplate.objects.select_related('device_type__manufacturer')
|
|
|
serializer_class = serializers.PowerPortTemplateSerializer
|
|
|
write_serializer_class = serializers.WritablePowerPortTemplateSerializer
|
|
|
filter_class = filters.PowerPortTemplateFilter
|
|
|
|
|
|
|
|
|
-class PowerOutletTemplateViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class PowerOutletTemplateViewSet(ModelViewSet):
|
|
|
queryset = PowerOutletTemplate.objects.select_related('device_type__manufacturer')
|
|
|
serializer_class = serializers.PowerOutletTemplateSerializer
|
|
|
write_serializer_class = serializers.WritablePowerOutletTemplateSerializer
|
|
|
filter_class = filters.PowerOutletTemplateFilter
|
|
|
|
|
|
|
|
|
-class InterfaceTemplateViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class InterfaceTemplateViewSet(ModelViewSet):
|
|
|
queryset = InterfaceTemplate.objects.select_related('device_type__manufacturer')
|
|
|
serializer_class = serializers.InterfaceTemplateSerializer
|
|
|
write_serializer_class = serializers.WritableInterfaceTemplateSerializer
|
|
|
filter_class = filters.InterfaceTemplateFilter
|
|
|
|
|
|
|
|
|
-class DeviceBayTemplateViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class DeviceBayTemplateViewSet(ModelViewSet):
|
|
|
queryset = DeviceBayTemplate.objects.select_related('device_type__manufacturer')
|
|
|
serializer_class = serializers.DeviceBayTemplateSerializer
|
|
|
write_serializer_class = serializers.WritableDeviceBayTemplateSerializer
|
|
@@ -233,7 +231,7 @@ class PlatformViewSet(ModelViewSet):
|
|
|
|
|
|
|
|
|
|
|
|
-class DeviceViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
|
|
|
+class DeviceViewSet(CustomFieldModelViewSet):
|
|
|
queryset = Device.objects.select_related(
|
|
|
'device_type__manufacturer', 'device_role', 'tenant', 'platform', 'site', 'rack', 'parent_bay',
|
|
|
).prefetch_related(
|
|
@@ -309,35 +307,35 @@ class DeviceViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
|
|
|
|
|
|
|
|
|
|
|
|
-class ConsolePortViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class ConsolePortViewSet(ModelViewSet):
|
|
|
queryset = ConsolePort.objects.select_related('device', 'cs_port__device')
|
|
|
serializer_class = serializers.ConsolePortSerializer
|
|
|
write_serializer_class = serializers.WritableConsolePortSerializer
|
|
|
filter_class = filters.ConsolePortFilter
|
|
|
|
|
|
|
|
|
-class ConsoleServerPortViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class ConsoleServerPortViewSet(ModelViewSet):
|
|
|
queryset = ConsoleServerPort.objects.select_related('device', 'connected_console__device')
|
|
|
serializer_class = serializers.ConsoleServerPortSerializer
|
|
|
write_serializer_class = serializers.WritableConsoleServerPortSerializer
|
|
|
filter_class = filters.ConsoleServerPortFilter
|
|
|
|
|
|
|
|
|
-class PowerPortViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class PowerPortViewSet(ModelViewSet):
|
|
|
queryset = PowerPort.objects.select_related('device', 'power_outlet__device')
|
|
|
serializer_class = serializers.PowerPortSerializer
|
|
|
write_serializer_class = serializers.WritablePowerPortSerializer
|
|
|
filter_class = filters.PowerPortFilter
|
|
|
|
|
|
|
|
|
-class PowerOutletViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class PowerOutletViewSet(ModelViewSet):
|
|
|
queryset = PowerOutlet.objects.select_related('device', 'connected_port__device')
|
|
|
serializer_class = serializers.PowerOutletSerializer
|
|
|
write_serializer_class = serializers.WritablePowerOutletSerializer
|
|
|
filter_class = filters.PowerOutletFilter
|
|
|
|
|
|
|
|
|
-class InterfaceViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class InterfaceViewSet(ModelViewSet):
|
|
|
queryset = Interface.objects.select_related('device')
|
|
|
serializer_class = serializers.InterfaceSerializer
|
|
|
write_serializer_class = serializers.WritableInterfaceSerializer
|
|
@@ -354,14 +352,14 @@ class InterfaceViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
return Response(serializer.data)
|
|
|
|
|
|
|
|
|
-class DeviceBayViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class DeviceBayViewSet(ModelViewSet):
|
|
|
queryset = DeviceBay.objects.select_related('installed_device')
|
|
|
serializer_class = serializers.DeviceBaySerializer
|
|
|
write_serializer_class = serializers.WritableDeviceBaySerializer
|
|
|
filter_class = filters.DeviceBayFilter
|
|
|
|
|
|
|
|
|
-class InventoryItemViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class InventoryItemViewSet(ModelViewSet):
|
|
|
queryset = InventoryItem.objects.select_related('device', 'manufacturer')
|
|
|
serializer_class = serializers.InventoryItemSerializer
|
|
|
write_serializer_class = serializers.WritableInventoryItemSerializer
|
|
@@ -384,7 +382,7 @@ class PowerConnectionViewSet(ListModelMixin, GenericViewSet):
|
|
|
filter_class = filters.PowerConnectionFilter
|
|
|
|
|
|
|
|
|
-class InterfaceConnectionViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+class InterfaceConnectionViewSet(ModelViewSet):
|
|
|
queryset = InterfaceConnection.objects.select_related('interface_a__device', 'interface_b__device')
|
|
|
serializer_class = serializers.InterfaceConnectionSerializer
|
|
|
write_serializer_class = serializers.WritableInterfaceConnectionSerializer
|