|
@@ -1,15 +1,12 @@
|
|
|
-from rest_framework import generics
|
|
|
from rest_framework.decorators import detail_route
|
|
|
from rest_framework.viewsets import ModelViewSet, ReadOnlyModelViewSet
|
|
|
|
|
|
from django.contrib.contenttypes.models import ContentType
|
|
|
-from django.http import Http404, HttpResponse
|
|
|
+from django.http import HttpResponse
|
|
|
from django.shortcuts import get_object_or_404
|
|
|
|
|
|
-from circuits.models import Provider
|
|
|
-from dcim.models import Site, Interface
|
|
|
from extras import filters
|
|
|
-from extras.models import Graph, TopologyMap, GRAPH_TYPE_INTERFACE, GRAPH_TYPE_PROVIDER, GRAPH_TYPE_SITE, UserAction
|
|
|
+from extras.models import TopologyMap, UserAction
|
|
|
from utilities.api import WritableSerializerMixin
|
|
|
from . import serializers
|
|
|
|
|
@@ -44,33 +41,6 @@ class CustomFieldModelViewSet(ModelViewSet):
|
|
|
return super(CustomFieldModelViewSet, self).get_queryset().prefetch_related('custom_field_values__field')
|
|
|
|
|
|
|
|
|
-class GraphListView(generics.ListAPIView):
|
|
|
- """
|
|
|
- Returns a list of relevant graphs
|
|
|
- """
|
|
|
- serializer_class = serializers.GraphSerializer
|
|
|
-
|
|
|
- def get_serializer_context(self):
|
|
|
- cls = {
|
|
|
- GRAPH_TYPE_INTERFACE: Interface,
|
|
|
- GRAPH_TYPE_PROVIDER: Provider,
|
|
|
- GRAPH_TYPE_SITE: Site,
|
|
|
- }
|
|
|
- obj = get_object_or_404(cls[self.kwargs.get('type')], pk=self.kwargs['pk'])
|
|
|
- context = super(GraphListView, self).get_serializer_context()
|
|
|
- context.update({
|
|
|
- 'graphed_object': obj,
|
|
|
- })
|
|
|
- return context
|
|
|
-
|
|
|
- def get_queryset(self):
|
|
|
- graph_type = self.kwargs.get('type', None)
|
|
|
- if not graph_type:
|
|
|
- raise Http404()
|
|
|
- queryset = Graph.objects.filter(type=graph_type)
|
|
|
- return queryset
|
|
|
-
|
|
|
-
|
|
|
class TopologyMapViewSet(WritableSerializerMixin, ModelViewSet):
|
|
|
queryset = TopologyMap.objects.select_related('site')
|
|
|
serializer_class = serializers.TopologyMapSerializer
|