1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Moved TopologyMaps from DCIM to extras

This commit is contained in:
Jeremy Stretch
2017-03-08 16:12:14 -05:00
parent 68c099a2af
commit f43fbffdf7
8 changed files with 157 additions and 88 deletions

View File

@ -2,9 +2,14 @@ from django.contrib.contenttypes.models import ContentType
from rest_framework import serializers
from extras.models import CustomField, CustomFieldChoice, Graph
# from dcim.api.serializers import NestedSiteSerializer
from extras.models import CustomField, CustomFieldChoice, Graph, TopologyMap
#
# Custom fields
#
class CustomFieldSerializer(serializers.BaseSerializer):
"""
Extends ModelSerializer to render any CustomFields and their values associated with an object.
@ -41,6 +46,10 @@ class CustomFieldChoiceSerializer(serializers.ModelSerializer):
fields = ['id', 'value']
#
# Graphs
#
class GraphSerializer(serializers.ModelSerializer):
embed_url = serializers.SerializerMethodField()
embed_link = serializers.SerializerMethodField()
@ -54,3 +63,22 @@ class GraphSerializer(serializers.ModelSerializer):
def get_embed_link(self, obj):
return obj.embed_link(self.context['graphed_object'])
#
# Topology maps
#
class TopologyMapSerializer(CustomFieldModelSerializer):
# site = NestedSiteSerializer()
class Meta:
model = TopologyMap
fields = ['id', 'name', 'slug', 'site', 'device_patterns', 'description']
class WritableTopologyMapSerializer(serializers.ModelSerializer):
class Meta:
model = TopologyMap
fields = ['name', 'slug', 'site', 'device_patterns', 'description']