2016-07-26 14:58:37 -04:00
|
|
|
from rest_framework import generics
|
|
|
|
|
|
|
|
from tenancy.models import Tenant, TenantGroup
|
|
|
|
from tenancy.filters import TenantFilter
|
|
|
|
|
2016-08-22 13:20:30 -04:00
|
|
|
from extras.api.views import CustomFieldModelAPIView
|
2016-07-26 14:58:37 -04:00
|
|
|
from . import serializers
|
|
|
|
|
|
|
|
|
|
|
|
class TenantGroupListView(generics.ListAPIView):
|
|
|
|
"""
|
|
|
|
List all tenant groups
|
|
|
|
"""
|
|
|
|
queryset = TenantGroup.objects.all()
|
|
|
|
serializer_class = serializers.TenantGroupSerializer
|
|
|
|
|
|
|
|
|
|
|
|
class TenantGroupDetailView(generics.RetrieveAPIView):
|
|
|
|
"""
|
|
|
|
Retrieve a single circuit type
|
|
|
|
"""
|
|
|
|
queryset = TenantGroup.objects.all()
|
|
|
|
serializer_class = serializers.TenantGroupSerializer
|
|
|
|
|
|
|
|
|
2016-08-22 13:20:30 -04:00
|
|
|
class TenantListView(CustomFieldModelAPIView, generics.ListAPIView):
|
2016-07-26 14:58:37 -04:00
|
|
|
"""
|
|
|
|
List tenants (filterable)
|
|
|
|
"""
|
2016-08-22 15:16:49 -04:00
|
|
|
queryset = Tenant.objects.select_related('group').prefetch_related('custom_field_values__field')
|
2016-07-26 14:58:37 -04:00
|
|
|
serializer_class = serializers.TenantSerializer
|
|
|
|
filter_class = TenantFilter
|
|
|
|
|
|
|
|
|
2016-08-22 13:20:30 -04:00
|
|
|
class TenantDetailView(CustomFieldModelAPIView, generics.RetrieveAPIView):
|
2016-07-26 14:58:37 -04:00
|
|
|
"""
|
|
|
|
Retrieve a single tenant
|
|
|
|
"""
|
2016-08-22 15:16:49 -04:00
|
|
|
queryset = Tenant.objects.select_related('group').prefetch_related('custom_field_values__field')
|
2016-07-26 14:58:37 -04:00
|
|
|
serializer_class = serializers.TenantSerializer
|