68 lines
2.4 KiB
Python
68 lines
2.4 KiB
Python
from django_filters.rest_framework import DjangoFilterBackend
|
|
from rest_framework import generics, permissions
|
|
|
|
from review import models
|
|
from review import serializers
|
|
from review import filters
|
|
from utils.permissions import IsReviewerManager, IsRestaurantReviewer
|
|
|
|
|
|
class ReviewLstView(generics.ListCreateAPIView):
|
|
"""Comment list create view."""
|
|
serializer_class = serializers.ReviewBaseSerializer
|
|
queryset = models.Review.objects.all()
|
|
permission_classes = [permissions.IsAuthenticatedOrReadOnly, ]
|
|
filter_backends = (DjangoFilterBackend,)
|
|
filterset_class = filters.ReviewFilter
|
|
|
|
|
|
class ReviewRUDView(generics.RetrieveUpdateDestroyAPIView):
|
|
"""Comment RUD view."""
|
|
serializer_class = serializers.ReviewBaseSerializer
|
|
queryset = models.Review.objects.all()
|
|
permission_classes = [IsReviewerManager | IsRestaurantReviewer]
|
|
lookup_field = 'id'
|
|
|
|
|
|
class InquiriesLstView(generics.ListCreateAPIView):
|
|
"""Inquiries list create view."""
|
|
|
|
serializer_class = serializers.InquiriesBaseSerializer
|
|
queryset = models.Inquiries.objects.all()
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
def get_queryset(self):
|
|
review_id = self.kwargs.get('review_id')
|
|
if review_id:
|
|
return super().get_queryset().filter(review_id=review_id)
|
|
return super().get_queryset()
|
|
|
|
|
|
class InquiriesRUDView(generics.RetrieveUpdateDestroyAPIView):
|
|
"""Inquiries RUD view."""
|
|
serializer_class = serializers.InquiriesBaseSerializer
|
|
queryset = models.Inquiries.objects.all()
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
lookup_field = 'id'
|
|
|
|
|
|
class GridItemsLstView(generics.ListCreateAPIView):
|
|
"""GridItems list create view."""
|
|
serializer_class = serializers.GridItemsBaseSerializer
|
|
queryset = models.GridItems.objects.all()
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
def get_queryset(self):
|
|
inquiry_id = self.kwargs.get('inquiry_id')
|
|
if inquiry_id:
|
|
return super().get_queryset().filter(inquiry_id=inquiry_id)
|
|
return super().get_queryset()
|
|
|
|
|
|
class GridItemsRUDView(generics.RetrieveUpdateDestroyAPIView):
|
|
"""GridItems RUD view."""
|
|
serializer_class = serializers.GridItemsBaseSerializer
|
|
queryset = models.GridItems.objects.all()
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
lookup_field = 'id'
|