from django.contrib.contenttypes.models import ContentType from django_filters.rest_framework import DjangoFilterBackend from rest_framework import generics, permissions from main import serializers from main.filters import AwardFilter from main.models import Award, Footer, PageType from main.views import SiteSettingsView, SiteListView class AwardLstView(generics.ListCreateAPIView): """Award list create view.""" queryset = Award.objects.all() serializer_class = serializers.BackAwardSerializer permission_classes = (permissions.IsAdminUser,) filterset_class = AwardFilter class AwardRUDView(generics.RetrieveUpdateDestroyAPIView): """Award RUD view.""" queryset = Award.objects.all() serializer_class = serializers.BackAwardSerializer permission_classes = (permissions.IsAdminUser,) lookup_field = 'id' class ContentTypeView(generics.ListAPIView): """ContentType list view""" queryset = ContentType.objects.all() serializer_class = serializers.ContentTypeBackSerializer permission_classes = (permissions.IsAdminUser,) filter_backends = (DjangoFilterBackend, ) ordering_fields = '__all__' lookup_field = 'id' filterset_fields = ( 'id', 'model', 'app_label', ) class FeatureBackView(generics.ListCreateAPIView): """Feature list or create View.""" serializer_class = serializers.FeatureSerializer class SiteFeatureBackView(generics.ListCreateAPIView): """Feature list or create View.""" serializer_class = serializers.SiteFeatureSerializer class FeatureRUDBackView(generics.RetrieveUpdateDestroyAPIView): """Feature RUD View.""" serializer_class = serializers.FeatureSerializer class SiteFeatureRUDBackView(generics.RetrieveUpdateDestroyAPIView): """Feature RUD View.""" serializer_class = serializers.SiteFeatureSerializer class SiteSettingsBackOfficeView(SiteSettingsView): """Site settings View.""" serializer_class = serializers.SiteSerializer class SiteListBackOfficeView(SiteListView): """Site settings View.""" serializer_class = serializers.SiteSerializer class FooterBackView(generics.ListCreateAPIView): """Footer back list/create view.""" permission_classes = (permissions.IsAuthenticatedOrReadOnly,) serializer_class = serializers.FooterBackSerializer queryset = Footer.objects.all() class FooterRUDBackView(generics.RetrieveUpdateDestroyAPIView): """Footer back RUD view.""" permission_classes = (permissions.IsAuthenticatedOrReadOnly,) serializer_class = serializers.FooterBackSerializer queryset = Footer.objects.all() class PageTypeListCreateView(generics.ListCreateAPIView): """PageType back office view.""" permission_classes = (permissions.IsAuthenticatedOrReadOnly, ) pagination_class = None serializer_class = serializers.PageTypeBaseSerializer queryset = PageType.objects.all()