50 lines
1.3 KiB
Python
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."""
|