2017-01-24 17:12:16 -05:00
|
|
|
from rest_framework.viewsets import ModelViewSet
|
2016-03-01 11:23:03 -05:00
|
|
|
|
|
|
|
from circuits.models import Provider, CircuitType, Circuit
|
|
|
|
from circuits.filters import CircuitFilter
|
2016-05-18 15:17:58 -04:00
|
|
|
|
2017-01-24 17:12:16 -05:00
|
|
|
from extras.api.views import CustomFieldModelViewSet
|
2016-05-18 15:17:58 -04:00
|
|
|
from . import serializers
|
2016-03-01 11:23:03 -05:00
|
|
|
|
|
|
|
|
2017-01-24 17:12:16 -05:00
|
|
|
#
|
|
|
|
# Providers
|
|
|
|
#
|
2016-03-01 11:23:03 -05:00
|
|
|
|
2017-01-24 17:12:16 -05:00
|
|
|
class ProviderViewSet(CustomFieldModelViewSet):
|
2016-03-01 11:23:03 -05:00
|
|
|
"""
|
2017-01-24 17:12:16 -05:00
|
|
|
List and retrieve circuit providers
|
2016-03-01 11:23:03 -05:00
|
|
|
"""
|
2017-01-24 17:12:16 -05:00
|
|
|
queryset = Provider.objects.all()
|
2016-05-18 15:17:58 -04:00
|
|
|
serializer_class = serializers.ProviderSerializer
|
2016-03-01 11:23:03 -05:00
|
|
|
|
|
|
|
|
2017-01-24 17:12:16 -05:00
|
|
|
#
|
|
|
|
# Circuit Types
|
|
|
|
#
|
2016-03-01 11:23:03 -05:00
|
|
|
|
2017-01-24 17:12:16 -05:00
|
|
|
class CircuitTypeViewSet(ModelViewSet):
|
2016-03-01 11:23:03 -05:00
|
|
|
"""
|
2017-01-24 17:12:16 -05:00
|
|
|
List and retrieve circuit types
|
2016-03-01 11:23:03 -05:00
|
|
|
"""
|
|
|
|
queryset = CircuitType.objects.all()
|
2016-05-18 15:17:58 -04:00
|
|
|
serializer_class = serializers.CircuitTypeSerializer
|
2016-03-01 11:23:03 -05:00
|
|
|
|
|
|
|
|
2017-01-24 17:12:16 -05:00
|
|
|
#
|
|
|
|
# Circuits
|
|
|
|
#
|
2016-03-01 11:23:03 -05:00
|
|
|
|
2017-01-24 17:12:16 -05:00
|
|
|
class CircuitViewSet(CustomFieldModelViewSet):
|
2016-03-01 11:23:03 -05:00
|
|
|
"""
|
2017-01-24 17:12:16 -05:00
|
|
|
List and retrieve circuits
|
2016-03-01 11:23:03 -05:00
|
|
|
"""
|
2017-01-24 17:12:16 -05:00
|
|
|
queryset = Circuit.objects.select_related('type', 'tenant', 'provider')
|
|
|
|
filter_class = CircuitFilter
|
2017-01-26 15:33:41 -05:00
|
|
|
|
|
|
|
def get_serializer_class(self):
|
|
|
|
if self.action == 'retrieve':
|
|
|
|
return serializers.CircuitDetailSerializer
|
|
|
|
return serializers.CircuitSerializer
|