fix god damned content-pages

This commit is contained in:
Kuroshini 2020-01-23 18:34:52 +03:00
parent dd1b241c41
commit 4002e684d5

View File

@ -1,12 +1,10 @@
"""Main app views."""
from django.http import Http404
from django.conf import settings
from rest_framework import generics, permissions
from rest_framework.renderers import StaticHTMLRenderer
from rest_framework.response import Response
from main import methods, models, serializers
from news.models import News, NewsType
from news.models import News
from news.serializers import NewsDetailSerializer, NewsListSerializer
from news.views import NewsMixinView
from utils.serializers import EmptySerializer
@ -106,17 +104,10 @@ class ContentPageBaseView(generics.GenericAPIView):
@property
def static_page_category(self):
name = 'static'
static_page_category = NewsType.objects.filter(name=name).first()
if static_page_category is None:
static_page_category = NewsType.objects.create(name=name)
return static_page_category
return 'static'
def get_queryset(self):
return super().get_queryset().filter(news_type=self.static_page_category)
return super().get_queryset().filter(news_type__name=self.static_page_category)
class ContentPageView(ContentPageBaseView, generics.ListAPIView):
@ -142,13 +133,6 @@ class ContentPageRetrieveView(NewsMixinView, ContentPageBaseView, generics.Retri
permission_classes = (permissions.AllowAny,)
serializer_class = NewsDetailSerializer
queryset = News.objects.all()
renderer_classes = [StaticHTMLRenderer]
def get(self, request, *args, **kwargs):
instance = self.get_object()
return Response(instance.description.get(request.locale,
instance.description.get(settings.FALLBACK_LOCALE,
next(iter(instance.description)))))
class ContentPageIdRetrieveView(ContentPageBaseView, generics.RetrieveAPIView):
@ -157,13 +141,6 @@ class ContentPageIdRetrieveView(ContentPageBaseView, generics.RetrieveAPIView):
permission_classes = (permissions.AllowAny,)
serializer_class = NewsDetailSerializer
queryset = News.objects.all()
renderer_classes = [StaticHTMLRenderer]
def get(self, request, *args, **kwargs):
instance = self.get_object()
return Response(instance.description.get(request.locale,
instance.description.get(settings.FALLBACK_LOCALE,
next(iter(instance.description)))))
class ContentPageRetrieveAdminView(NewsMixinView, ContentPageBaseView, generics.RetrieveUpdateDestroyAPIView):
@ -173,4 +150,3 @@ class ContentPageRetrieveAdminView(NewsMixinView, ContentPageBaseView, generics.
permission_classes = (permissions.IsAdminUser,)
serializer_class = NewsDetailSerializer
queryset = News.objects.all()