Wrote API endpoints, tests for ExportTemplates

This commit is contained in:
Jeremy Stretch
2017-03-20 16:21:10 -04:00
parent 15ecd734c6
commit 5577d67223
5 changed files with 114 additions and 4 deletions

View File

@@ -1,7 +1,7 @@
from rest_framework import serializers
from dcim.api.serializers import NestedSiteSerializer
from extras.models import ACTION_CHOICES, Graph, GRAPH_TYPE_CHOICES, TopologyMap, UserAction
from extras.models import ACTION_CHOICES, Graph, GRAPH_TYPE_CHOICES, ExportTemplate, TopologyMap, UserAction
from users.api.serializers import NestedUserSerializer
from utilities.api import ChoiceFieldSerializer
@@ -41,6 +41,17 @@ class RenderedGraphSerializer(serializers.ModelSerializer):
return obj.embed_link(self.context['graphed_object'])
#
# Export templates
#
class ExportTemplateSerializer(serializers.ModelSerializer):
class Meta:
model = ExportTemplate
fields = ['id', 'content_type', 'name', 'description', 'template_code', 'mime_type', 'file_extension']
#
# Topology maps
#

View File

@@ -8,6 +8,9 @@ router = routers.DefaultRouter()
# Graphs
router.register(r'graphs', views.GraphViewSet)
# Export templates
router.register(r'export-templates', views.ExportTemplateViewSet)
# Topology maps
router.register(r'topology-maps', views.TopologyMapViewSet)

View File

@@ -6,7 +6,7 @@ from django.http import HttpResponse
from django.shortcuts import get_object_or_404
from extras import filters
from extras.models import Graph, TopologyMap, UserAction
from extras.models import ExportTemplate, Graph, TopologyMap, UserAction
from utilities.api import WritableSerializerMixin
from . import serializers
@@ -48,6 +48,13 @@ class GraphViewSet(WritableSerializerMixin, ModelViewSet):
filter_class = filters.GraphFilter
class ExportTemplateViewSet(WritableSerializerMixin, ModelViewSet):
queryset = ExportTemplate.objects.all()
serializer_class = serializers.ExportTemplateSerializer
# write_serializer_class = serializers.WritableExportTemplateSerializer
filter_class = filters.ExportTemplateFilter
class TopologyMapViewSet(WritableSerializerMixin, ModelViewSet):
queryset = TopologyMap.objects.select_related('site')
serializer_class = serializers.TopologyMapSerializer