gault-millau/apps/main/views.py
2019-08-21 11:37:22 +03:00

50 lines
1.3 KiB
Python

"""Main app views."""
from rest_framework import generics, permissions
from main import models, serializers
class SiteSettingsView(generics.RetrieveAPIView):
"""Site settings View."""
lookup_field = 'country_code'
permission_classes = (permissions.AllowAny,)
queryset = models.SiteSettings.objects.all()
serializer_class = serializers.SiteSettingsSerializer
class FeatureViewMixin:
"""Feature view mixin."""
queryset = models.Feature.objects.all()
serializer_class = serializers.FeatureSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
class FeaturesLCView(FeatureViewMixin, generics.ListCreateAPIView):
"""Site features LC View."""
pagination_class = None
class FeaturesRUDView(FeatureViewMixin, generics.RetrieveUpdateDestroyAPIView):
"""Site features RUD View."""
class SiteFeaturesViewMixin:
"""Site feature view mixin."""
queryset = models.SiteFeature.objects.all()
serializer_class = serializers.SiteFeatureSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
class SiteFeaturesLCView(SiteFeaturesViewMixin, generics.ListCreateAPIView):
"""Site features LC."""
pagination_class = None
class SiteFeaturesRUDView(SiteFeaturesViewMixin,
generics.RetrieveUpdateDestroyAPIView):
"""Site features RUD."""