| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- from rest_framework.routers import APIRootView
- from netbox.api.viewsets import NetBoxModelViewSet, MPTTLockedMixin
- from tenancy import filtersets
- from tenancy.models import *
- from . import serializers
- class TenancyRootView(APIRootView):
- """
- Tenancy API root view
- """
- def get_view_name(self):
- return 'Tenancy'
- #
- # Tenants
- #
- class TenantGroupViewSet(MPTTLockedMixin, NetBoxModelViewSet):
- queryset = TenantGroup.objects.add_related_count(
- TenantGroup.objects.all(),
- Tenant,
- 'group',
- 'tenant_count',
- cumulative=True
- )
- serializer_class = serializers.TenantGroupSerializer
- filterset_class = filtersets.TenantGroupFilterSet
- class TenantViewSet(NetBoxModelViewSet):
- queryset = Tenant.objects.all()
- serializer_class = serializers.TenantSerializer
- filterset_class = filtersets.TenantFilterSet
- #
- # Contacts
- #
- class ContactGroupViewSet(MPTTLockedMixin, NetBoxModelViewSet):
- queryset = ContactGroup.objects.add_related_count(
- ContactGroup.objects.all(),
- Contact,
- 'groups',
- 'contact_count',
- cumulative=True
- )
- serializer_class = serializers.ContactGroupSerializer
- filterset_class = filtersets.ContactGroupFilterSet
- class ContactRoleViewSet(NetBoxModelViewSet):
- queryset = ContactRole.objects.all()
- serializer_class = serializers.ContactRoleSerializer
- filterset_class = filtersets.ContactRoleFilterSet
- class ContactViewSet(NetBoxModelViewSet):
- queryset = Contact.objects.all()
- serializer_class = serializers.ContactSerializer
- filterset_class = filtersets.ContactFilterSet
- class ContactAssignmentViewSet(NetBoxModelViewSet):
- queryset = ContactAssignment.objects.all()
- serializer_class = serializers.ContactAssignmentSerializer
- filterset_class = filtersets.ContactAssignmentFilterSet
|