|
@@ -1,15 +1,11 @@
|
|
|
from django.shortcuts import get_object_or_404
|
|
|
|
|
|
from rest_framework.decorators import detail_route
|
|
|
-from rest_framework.mixins import (
|
|
|
- CreateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin, UpdateModelMixin,
|
|
|
-)
|
|
|
from rest_framework.response import Response
|
|
|
-from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
|
|
+from rest_framework.viewsets import ModelViewSet
|
|
|
|
|
|
+from circuits import filters
|
|
|
from circuits.models import Provider, CircuitTermination, CircuitType, Circuit
|
|
|
-from circuits.filters import CircuitFilter
|
|
|
-
|
|
|
from extras.models import Graph, GRAPH_TYPE_PROVIDER
|
|
|
from extras.api.serializers import GraphSerializer
|
|
|
from extras.api.views import CustomFieldModelViewSet
|
|
@@ -25,6 +21,7 @@ class ProviderViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
|
|
|
queryset = Provider.objects.all()
|
|
|
serializer_class = serializers.ProviderSerializer
|
|
|
write_serializer_class = serializers.WritableProviderSerializer
|
|
|
+ filter_class = filters.ProviderFilter
|
|
|
|
|
|
@detail_route()
|
|
|
def graphs(self, request, pk=None):
|
|
@@ -51,22 +48,15 @@ class CircuitViewSet(WritableSerializerMixin, CustomFieldModelViewSet):
|
|
|
queryset = Circuit.objects.select_related('type', 'tenant', 'provider')
|
|
|
serializer_class = serializers.CircuitSerializer
|
|
|
write_serializer_class = serializers.WritableCircuitSerializer
|
|
|
- filter_class = CircuitFilter
|
|
|
+ filter_class = filters.CircuitFilter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-class CircuitTerminationViewSet(RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin, WritableSerializerMixin,
|
|
|
- GenericViewSet):
|
|
|
- queryset = CircuitTermination.objects.select_related('site', 'interface__device')
|
|
|
+class CircuitTerminationViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
+ queryset = CircuitTermination.objects.select_related('circuit', 'site', 'interface__device')
|
|
|
serializer_class = serializers.CircuitTerminationSerializer
|
|
|
-
|
|
|
-
|
|
|
-class NestedCircuitTerminationViewSet(CreateModelMixin, ListModelMixin ,WritableSerializerMixin, GenericViewSet):
|
|
|
- serializer_class = serializers.CircuitTerminationSerializer
|
|
|
-
|
|
|
- def get_queryset(self):
|
|
|
- circuit = get_object_or_404(Circuit, pk=self.kwargs['pk'])
|
|
|
- return CircuitTermination.objects.filter(circuit=circuit).select_related('site', 'interface__device')
|
|
|
+ write_serializer_class = serializers.WritableCircuitTerminationSerializer
|
|
|
+ filter_class = filters.CircuitTerminationFilter
|