gault-millau/apps/main/views.py
2019-08-21 12:05:51 +03:00

60 lines
1.6 KiB
Python

"""Main app views."""
from django.http.response import HttpResponseRedirect
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."""
class DetermineSiteView(generics.GenericAPIView):
"""Determine user's site."""
permission_classes = (permissions.AllowAny,)
def get(self, request, *args, **kwargs):
return HttpResponseRedirect('http://ru.gm.id-east.ru/')