gault-millau/apps/partner/views/back.py
2020-01-29 19:18:17 +03:00

54 lines
1.9 KiB
Python

from rest_framework import generics, permissions
from partner import filters
from partner.models import Partner, PartnerToEstablishment
from partner.serializers import back as serializers
from utils.permissions import IsEstablishmentManager
class PartnerLstView(generics.ListCreateAPIView):
"""Partner list/create view.
Allows to get partners for current country, or create a new one.
"""
queryset = Partner.objects.with_base_related()
serializer_class = serializers.BackPartnerSerializer
pagination_class = None
permission_classes = [permissions.IsAdminUser | IsEstablishmentManager]
# permission_classes = (permissions.AllowAny, )
filter_class = filters.PartnerFilterSet
class EstablishmentPartners(generics.ListAPIView):
queryset = PartnerToEstablishment.objects.all()
serializer_class = serializers.PartnersForEstablishmentSerializer
pagination_class = None
permission_classes = [permissions.IsAdminUser | IsEstablishmentManager]
# filter_class = filters.PartnerFilterSet
def get_queryset(self):
return super().get_queryset().filter(establishment=self.kwargs['establishment_id'])
class PartnerRUDView(generics.RetrieveUpdateDestroyAPIView):
"""Partner RUD view."""
queryset = Partner.objects.with_base_related()
serializer_class = serializers.BackPartnerSerializer
permission_classes = [permissions.IsAdminUser | IsEstablishmentManager]
# permission_classes = (permissions.AllowAny, )
lookup_field = 'id'
class PartnerPicturesListView(generics.RetrieveAPIView):
lookup_field = 'id'
serializer_class = serializers.PartnerPicturesSerializer
queryset = Partner.objects.with_base_related()
# permission_classes = [permissions.IsAdminUser | IsEstablishmentManager]
permission_classes = (permissions.AllowAny, )
# class BindPartnerToEstablishmentView(generics.GenericAPIView):
# pass
# class UnbindPartnerFromEstablishmentView(generics.DestroyAPIView):
# pass