2016-03-01 11:23:03 -05:00
|
|
|
from rest_framework import generics
|
|
|
|
|
|
|
|
from circuits.models import Provider, CircuitType, Circuit
|
|
|
|
from circuits.filters import CircuitFilter
|
2016-05-18 15:17:58 -04:00
|
|
|
|
2016-08-22 13:20:30 -04:00
|
|
|
from extras.api.views import CustomFieldModelAPIView
|
2016-05-18 15:17:58 -04:00
|
|
|
from . import serializers
|
2016-03-01 11:23:03 -05:00
|
|
|
|
|
|
|
|
2016-08-22 13:20:30 -04:00
|
|
|
class ProviderListView(CustomFieldModelAPIView, generics.ListAPIView):
|
2016-03-01 11:23:03 -05:00
|
|
|
"""
|
|
|
|
List all providers
|
|
|
|
"""
|
2016-08-22 15:16:49 -04:00
|
|
|
queryset = Provider.objects.prefetch_related('custom_field_values__field')
|
2016-05-18 15:17:58 -04:00
|
|
|
serializer_class = serializers.ProviderSerializer
|
2016-03-01 11:23:03 -05:00
|
|
|
|
|
|
|
|
2016-08-22 13:20:30 -04:00
|
|
|
class ProviderDetailView(CustomFieldModelAPIView, generics.RetrieveAPIView):
|
2016-03-01 11:23:03 -05:00
|
|
|
"""
|
|
|
|
Retrieve a single provider
|
|
|
|
"""
|
2016-08-22 15:16:49 -04:00
|
|
|
queryset = Provider.objects.prefetch_related('custom_field_values__field')
|
2016-05-18 15:17:58 -04:00
|
|
|
serializer_class = serializers.ProviderSerializer
|
2016-03-01 11:23:03 -05:00
|
|
|
|
|
|
|
|
|
|
|
class CircuitTypeListView(generics.ListAPIView):
|
|
|
|
"""
|
|
|
|
List all circuit types
|
|
|
|
"""
|
|
|
|
queryset = CircuitType.objects.all()
|
2016-05-18 15:17:58 -04:00
|
|
|
serializer_class = serializers.CircuitTypeSerializer
|
2016-03-01 11:23:03 -05:00
|
|
|
|
|
|
|
|
|
|
|
class CircuitTypeDetailView(generics.RetrieveAPIView):
|
|
|
|
"""
|
|
|
|
Retrieve a single circuit type
|
|
|
|
"""
|
|
|
|
queryset = CircuitType.objects.all()
|
2016-05-18 15:17:58 -04:00
|
|
|
serializer_class = serializers.CircuitTypeSerializer
|
2016-03-01 11:23:03 -05:00
|
|
|
|
|
|
|
|
2016-08-22 13:20:30 -04:00
|
|
|
class CircuitListView(CustomFieldModelAPIView, generics.ListAPIView):
|
2016-03-01 11:23:03 -05:00
|
|
|
"""
|
|
|
|
List circuits (filterable)
|
|
|
|
"""
|
2016-12-14 13:47:22 -05:00
|
|
|
queryset = Circuit.objects.select_related('type', 'tenant', 'provider')\
|
2016-08-22 15:16:49 -04:00
|
|
|
.prefetch_related('custom_field_values__field')
|
2016-05-18 15:17:58 -04:00
|
|
|
serializer_class = serializers.CircuitSerializer
|
2016-03-01 11:23:03 -05:00
|
|
|
filter_class = CircuitFilter
|
|
|
|
|
|
|
|
|
2016-08-22 13:20:30 -04:00
|
|
|
class CircuitDetailView(CustomFieldModelAPIView, generics.RetrieveAPIView):
|
2016-03-01 11:23:03 -05:00
|
|
|
"""
|
|
|
|
Retrieve a single circuit
|
|
|
|
"""
|
2016-12-14 13:47:22 -05:00
|
|
|
queryset = Circuit.objects.select_related('type', 'tenant', 'provider')\
|
2016-08-22 15:16:49 -04:00
|
|
|
.prefetch_related('custom_field_values__field')
|
2016-05-18 15:17:58 -04:00
|
|
|
serializer_class = serializers.CircuitSerializer
|