36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
"""Establishment app views."""
|
|
from rest_framework import generics, permissions
|
|
from establishment import models, serializers
|
|
from utils.views import JWTGenericViewMixin
|
|
from establishment import filters
|
|
|
|
|
|
class EstablishmentMixin:
|
|
"""Establishment mixin."""
|
|
|
|
permission_classes = (permissions.AllowAny,)
|
|
serializer_class = serializers.EstablishmentSerializer
|
|
|
|
def get_queryset(self):
|
|
"""Overrided method 'get_queryset'."""
|
|
return models.Establishment.objects.all().prefetch_actual_employees()
|
|
|
|
|
|
class EstablishmentListView(EstablishmentMixin, JWTGenericViewMixin, generics.ListAPIView):
|
|
"""Resource for getting a list of establishments."""
|
|
|
|
filter_class = filters.EstablishmentFilter
|
|
|
|
|
|
class EstablishmentRetrieveView(EstablishmentMixin, JWTGenericViewMixin, generics.RetrieveAPIView):
|
|
"""Resource for getting a establishment."""
|
|
|
|
|
|
class EstablishmentTypeListView(JWTGenericViewMixin, generics.ListAPIView):
|
|
"""Resource for getting a list of establishment types."""
|
|
|
|
permission_classes = (permissions.AllowAny,)
|
|
serializer_class = serializers.EstablishmentTypeSerializer
|
|
queryset = models.EstablishmentType.objects.all()
|
|
|