From 6a1fea76b6f4a49dff27f317ea8d8a3d2978430e Mon Sep 17 00:00:00 2001 From: dormantman Date: Wed, 22 Jan 2020 16:03:23 +0300 Subject: [PATCH 1/6] Added content page method --- apps/main/migrations/0050_contentpage.py | 27 ++++++++++++++++ .../migrations/0051_auto_20200122_1256.py | 27 ++++++++++++++++ apps/main/models.py | 32 +++++++++++++++---- apps/main/serializers/common.py | 18 +++++++++++ apps/main/urls/common.py | 1 + apps/main/views/common.py | 8 +++++ 6 files changed, 107 insertions(+), 6 deletions(-) create mode 100644 apps/main/migrations/0050_contentpage.py create mode 100644 apps/main/migrations/0051_auto_20200122_1256.py diff --git a/apps/main/migrations/0050_contentpage.py b/apps/main/migrations/0050_contentpage.py new file mode 100644 index 00000000..7d369690 --- /dev/null +++ b/apps/main/migrations/0050_contentpage.py @@ -0,0 +1,27 @@ +# Generated by Django 2.2.7 on 2020-01-22 12:41 + +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0049_remove_navigationbarpermission_section'), + ] + + operations = [ + migrations.CreateModel( + name='ContentPage', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created', models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Date created')), + ('modified', models.DateTimeField(auto_now=True, verbose_name='Date updated')), + ('content', models.TextField(verbose_name='content')), + ('slug', models.SlugField(max_length=255, null=True, unique=True, verbose_name='slug')), + ], + options={ + 'abstract': False, + }, + ), + ] diff --git a/apps/main/migrations/0051_auto_20200122_1256.py b/apps/main/migrations/0051_auto_20200122_1256.py new file mode 100644 index 00000000..bdb85fdb --- /dev/null +++ b/apps/main/migrations/0051_auto_20200122_1256.py @@ -0,0 +1,27 @@ +# Generated by Django 2.2.7 on 2020-01-22 12:56 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0050_contentpage'), + ] + + operations = [ + migrations.AlterModelOptions( + name='contentpage', + options={'verbose_name': 'content page', 'verbose_name_plural': 'content page'}, + ), + migrations.AddField( + model_name='contentpage', + name='name', + field=models.CharField(default='', max_length=255, verbose_name='name'), + ), + migrations.AlterField( + model_name='contentpage', + name='content', + field=models.TextField(default='', verbose_name='content'), + ), + ] diff --git a/apps/main/models.py b/apps/main/models.py index ea853c04..0cde6ddb 100644 --- a/apps/main/models.py +++ b/apps/main/models.py @@ -20,8 +20,10 @@ from review.models import Review from tag.models import Tag from utils.exceptions import UnprocessableEntityError from utils.methods import dictfetchall -from utils.models import (ProjectBaseMixin, TJSONField, URLImageMixin, - TranslatedFieldsMixin, PlatformMixin) +from utils.models import ( + ProjectBaseMixin, TJSONField, URLImageMixin, + TranslatedFieldsMixin, PlatformMixin, +) class Currency(TranslatedFieldsMixin, models.Model): @@ -156,10 +158,10 @@ class SiteFeature(ProjectBaseMixin): published = models.BooleanField(default=False, verbose_name=_('Published')) main = models.BooleanField(default=False, help_text='shows on main page', - verbose_name=_('Main'),) + verbose_name=_('Main'), ) backoffice = models.BooleanField(default=False, help_text='shows on backoffice page', - verbose_name=_('backoffice'),) + verbose_name=_('backoffice'), ) nested = models.ManyToManyField('self', blank=True, symmetrical=False) old_id = models.IntegerField(null=True, blank=True) @@ -402,6 +404,24 @@ class Footer(ProjectBaseMixin): links = models.ManyToManyField(FooterLink, verbose_name=_('links'), related_name='link_footer') +class ContentPageQuerySet(models.QuerySet): + """QuerySet for model ContentPage.""" + + +class ContentPage(ProjectBaseMixin): + name = models.CharField(_('name'), max_length=255, default='') + content = models.TextField(_('content'), default='') + slug = models.SlugField(max_length=255, unique=True, null=True, + verbose_name=_('slug')) + + objects = ContentPageQuerySet.as_manager() + + class Meta: + """Meta class.""" + verbose_name = _('content page') + verbose_name_plural = _('content page') + + class PanelQuerySet(models.QuerySet): """Panels QuerySet.""" @@ -458,7 +478,7 @@ class Panel(ProjectBaseMixin): } with connections['default'].cursor() as cursor: count = self._raw_count(raw) - start = page*page_size + start = page * page_size cursor.execute(*self.set_limits(start, page_size)) data["count"] = count data["next"] = self.get_next_page(count, page, page_size) @@ -468,7 +488,7 @@ class Panel(ProjectBaseMixin): return data def get_next_page(self, count, page, page_size): - max_page = count/page_size-1 + max_page = count / page_size - 1 if not 0 <= page <= max_page: raise exceptions.NotFound('Invalid page.') if max_page > page: diff --git a/apps/main/serializers/common.py b/apps/main/serializers/common.py index 6a556ee6..bdb3e895 100644 --- a/apps/main/serializers/common.py +++ b/apps/main/serializers/common.py @@ -345,3 +345,21 @@ class NavigationBarPermissionBaseSerializer(serializers.ModelSerializer): 'sections', 'permission_mode_display', ] + + +class ContentPageSerializer(serializers.ModelSerializer): + """Content page serializer""" + + name = serializers.CharField() + content = serializers.CharField() + slug = serializers.CharField() + + class Meta: + """Meta class.""" + model = models.ContentPage + fields = [ + 'id', + 'name', + 'content', + 'slug' + ] diff --git a/apps/main/urls/common.py b/apps/main/urls/common.py index 6b8f26ce..16b4b2af 100644 --- a/apps/main/urls/common.py +++ b/apps/main/urls/common.py @@ -9,4 +9,5 @@ common_urlpatterns = [ path('awards//', AwardRetrieveView.as_view(), name='awards_retrieve'), path('carousel/', CarouselListView.as_view(), name='carousel-list'), path('determine-location/', DetermineLocation.as_view(), name='determine-location'), + path('content-pages/', ContentPage.as_view(), name='content-pages') ] diff --git a/apps/main/views/common.py b/apps/main/views/common.py index c565998d..d5fc413e 100644 --- a/apps/main/views/common.py +++ b/apps/main/views/common.py @@ -95,3 +95,11 @@ class DetermineLocation(generics.GenericAPIView): 'country_code': country_code, }) raise Http404 + + +class ContentPage(generics.ListCreateAPIView): + """Method to get content pages""" + + permission_classes = (permissions.AllowAny,) + serializer_class = serializers.ContentPageSerializer + queryset = models.ContentPage.objects.all() From 40bfd479d28ab45323a9a90c8f174dc680f962e3 Mon Sep 17 00:00:00 2001 From: dormantman Date: Wed, 22 Jan 2020 16:14:00 +0300 Subject: [PATCH 2/6] Added access levels --- apps/main/urls/common.py | 6 +++++- apps/main/views/common.py | 28 +++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/apps/main/urls/common.py b/apps/main/urls/common.py index 16b4b2af..d18f95a7 100644 --- a/apps/main/urls/common.py +++ b/apps/main/urls/common.py @@ -9,5 +9,9 @@ common_urlpatterns = [ path('awards//', AwardRetrieveView.as_view(), name='awards_retrieve'), path('carousel/', CarouselListView.as_view(), name='carousel-list'), path('determine-location/', DetermineLocation.as_view(), name='determine-location'), - path('content-pages/', ContentPage.as_view(), name='content-pages') + path('content-pages/', ContentPageView.as_view(), name='content-pages-list'), + path('content-pages/create/', ContentPageAdminView.as_view(), name='content-pages-admin-list'), + path('content-pages/slug//', ContentPageRetrieveView.as_view(), name='content-pages-retrieve'), + path('content-pages/update/slug//', ContentPageRetrieveAdminView.as_view(), + name='content-pages-admin-retrieve') ] diff --git a/apps/main/views/common.py b/apps/main/views/common.py index d5fc413e..bc03c60a 100644 --- a/apps/main/views/common.py +++ b/apps/main/views/common.py @@ -97,9 +97,35 @@ class DetermineLocation(generics.GenericAPIView): raise Http404 -class ContentPage(generics.ListCreateAPIView): +class ContentPageView(generics.ListAPIView): """Method to get content pages""" permission_classes = (permissions.AllowAny,) serializer_class = serializers.ContentPageSerializer queryset = models.ContentPage.objects.all() + + +class ContentPageAdminView(generics.ListCreateAPIView): + """Method to get content pages""" + + permission_classes = (permissions.IsAdminUser,) + serializer_class = serializers.ContentPageSerializer + queryset = models.ContentPage.objects.all() + + +class ContentPageRetrieveView(generics.RetrieveAPIView): + """Retrieve method to get content pages""" + + lookup_field = 'slug' + permission_classes = (permissions.AllowAny,) + serializer_class = serializers.ContentPageSerializer + queryset = models.ContentPage.objects.all() + + +class ContentPageRetrieveAdminView(generics.RetrieveUpdateDestroyAPIView): + """Retrieve method to get content pages""" + + lookup_field = 'slug' + permission_classes = (permissions.IsAdminUser,) + serializer_class = serializers.ContentPageSerializer + queryset = models.ContentPage.objects.all() From 3f44a76da97775fdcd872352fa135d982f7b16bf Mon Sep 17 00:00:00 2001 From: dormantman Date: Wed, 22 Jan 2020 16:32:51 +0300 Subject: [PATCH 3/6] Added retrieve id method --- apps/main/urls/common.py | 3 ++- apps/main/views/common.py | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/main/urls/common.py b/apps/main/urls/common.py index d18f95a7..9741ca60 100644 --- a/apps/main/urls/common.py +++ b/apps/main/urls/common.py @@ -10,8 +10,9 @@ common_urlpatterns = [ path('carousel/', CarouselListView.as_view(), name='carousel-list'), path('determine-location/', DetermineLocation.as_view(), name='determine-location'), path('content-pages/', ContentPageView.as_view(), name='content-pages-list'), + path('content-pages//', ContentPageIdRetrieveView.as_view(), name='content-pages-retrieve-id'), path('content-pages/create/', ContentPageAdminView.as_view(), name='content-pages-admin-list'), - path('content-pages/slug//', ContentPageRetrieveView.as_view(), name='content-pages-retrieve'), + path('content-pages/slug//', ContentPageRetrieveView.as_view(), name='content-pages-retrieve-slug'), path('content-pages/update/slug//', ContentPageRetrieveAdminView.as_view(), name='content-pages-admin-retrieve') ] diff --git a/apps/main/views/common.py b/apps/main/views/common.py index bc03c60a..62b6c1d7 100644 --- a/apps/main/views/common.py +++ b/apps/main/views/common.py @@ -122,6 +122,14 @@ class ContentPageRetrieveView(generics.RetrieveAPIView): queryset = models.ContentPage.objects.all() +class ContentPageIdRetrieveView(generics.RetrieveAPIView): + """Retrieve method to get content pages""" + + permission_classes = (permissions.AllowAny,) + serializer_class = serializers.ContentPageSerializer + queryset = models.ContentPage.objects.all() + + class ContentPageRetrieveAdminView(generics.RetrieveUpdateDestroyAPIView): """Retrieve method to get content pages""" From 18978355bc9f4a9a616b4f8e286f26fe743b9f1a Mon Sep 17 00:00:00 2001 From: dormantman Date: Thu, 23 Jan 2020 13:56:17 +0300 Subject: [PATCH 4/6] Change method model --- apps/main/migrations/0050_contentpage.py | 27 ----------- .../migrations/0051_auto_20200122_1256.py | 27 ----------- apps/main/models.py | 18 -------- apps/main/serializers/common.py | 20 +------- apps/main/views/common.py | 46 ++++++++++++++----- 5 files changed, 35 insertions(+), 103 deletions(-) delete mode 100644 apps/main/migrations/0050_contentpage.py delete mode 100644 apps/main/migrations/0051_auto_20200122_1256.py diff --git a/apps/main/migrations/0050_contentpage.py b/apps/main/migrations/0050_contentpage.py deleted file mode 100644 index 7d369690..00000000 --- a/apps/main/migrations/0050_contentpage.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 2.2.7 on 2020-01-22 12:41 - -from django.db import migrations, models -import django.utils.timezone - - -class Migration(migrations.Migration): - - dependencies = [ - ('main', '0049_remove_navigationbarpermission_section'), - ] - - operations = [ - migrations.CreateModel( - name='ContentPage', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('created', models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Date created')), - ('modified', models.DateTimeField(auto_now=True, verbose_name='Date updated')), - ('content', models.TextField(verbose_name='content')), - ('slug', models.SlugField(max_length=255, null=True, unique=True, verbose_name='slug')), - ], - options={ - 'abstract': False, - }, - ), - ] diff --git a/apps/main/migrations/0051_auto_20200122_1256.py b/apps/main/migrations/0051_auto_20200122_1256.py deleted file mode 100644 index bdb85fdb..00000000 --- a/apps/main/migrations/0051_auto_20200122_1256.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 2.2.7 on 2020-01-22 12:56 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('main', '0050_contentpage'), - ] - - operations = [ - migrations.AlterModelOptions( - name='contentpage', - options={'verbose_name': 'content page', 'verbose_name_plural': 'content page'}, - ), - migrations.AddField( - model_name='contentpage', - name='name', - field=models.CharField(default='', max_length=255, verbose_name='name'), - ), - migrations.AlterField( - model_name='contentpage', - name='content', - field=models.TextField(default='', verbose_name='content'), - ), - ] diff --git a/apps/main/models.py b/apps/main/models.py index 0cde6ddb..8856bec5 100644 --- a/apps/main/models.py +++ b/apps/main/models.py @@ -404,24 +404,6 @@ class Footer(ProjectBaseMixin): links = models.ManyToManyField(FooterLink, verbose_name=_('links'), related_name='link_footer') -class ContentPageQuerySet(models.QuerySet): - """QuerySet for model ContentPage.""" - - -class ContentPage(ProjectBaseMixin): - name = models.CharField(_('name'), max_length=255, default='') - content = models.TextField(_('content'), default='') - slug = models.SlugField(max_length=255, unique=True, null=True, - verbose_name=_('slug')) - - objects = ContentPageQuerySet.as_manager() - - class Meta: - """Meta class.""" - verbose_name = _('content page') - verbose_name_plural = _('content page') - - class PanelQuerySet(models.QuerySet): """Panels QuerySet.""" diff --git a/apps/main/serializers/common.py b/apps/main/serializers/common.py index bdb3e895..9eccd718 100644 --- a/apps/main/serializers/common.py +++ b/apps/main/serializers/common.py @@ -5,7 +5,7 @@ from rest_framework import serializers from location.serializers import CountrySerializer from main import models from tag.serializers import TagBackOfficeSerializer -from utils.serializers import ProjectModelSerializer, TranslatedField, RecursiveFieldSerializer +from utils.serializers import ProjectModelSerializer, RecursiveFieldSerializer, TranslatedField class FeatureSerializer(serializers.ModelSerializer): @@ -345,21 +345,3 @@ class NavigationBarPermissionBaseSerializer(serializers.ModelSerializer): 'sections', 'permission_mode_display', ] - - -class ContentPageSerializer(serializers.ModelSerializer): - """Content page serializer""" - - name = serializers.CharField() - content = serializers.CharField() - slug = serializers.CharField() - - class Meta: - """Meta class.""" - model = models.ContentPage - fields = [ - 'id', - 'name', - 'content', - 'slug' - ] diff --git a/apps/main/views/common.py b/apps/main/views/common.py index 62b6c1d7..c6b77821 100644 --- a/apps/main/views/common.py +++ b/apps/main/views/common.py @@ -1,10 +1,13 @@ """Main app views.""" from django.http import Http404 -from django.conf import settings from rest_framework import generics, permissions from rest_framework.response import Response from main import methods, models, serializers +from news.models import News, NewsType +from news.serializers import NewsDetailSerializer, NewsListSerializer +from utils.serializers import EmptySerializer + # # class FeatureViewMixin: @@ -42,7 +45,6 @@ from main import methods, models, serializers # class SiteFeaturesRUDView(SiteFeaturesViewMixin, # generics.RetrieveUpdateDestroyAPIView): # """Site features RUD.""" -from utils.serializers import EmptySerializer class AwardView(generics.ListAPIView): @@ -101,16 +103,24 @@ class ContentPageView(generics.ListAPIView): """Method to get content pages""" permission_classes = (permissions.AllowAny,) - serializer_class = serializers.ContentPageSerializer - queryset = models.ContentPage.objects.all() + serializer_class = NewsListSerializer + queryset = News.objects.all() + + def get_queryset(self): + static_page_category = NewsType.objects.get(name='static-page') + return super().get_queryset().filter(news_type=static_page_category) class ContentPageAdminView(generics.ListCreateAPIView): """Method to get content pages""" permission_classes = (permissions.IsAdminUser,) - serializer_class = serializers.ContentPageSerializer - queryset = models.ContentPage.objects.all() + serializer_class = NewsListSerializer + queryset = News.objects.all() + + def get_queryset(self): + static_page_category = NewsType.objects.get(name='static-page') + return super().get_queryset().filter(news_type=static_page_category) class ContentPageRetrieveView(generics.RetrieveAPIView): @@ -118,16 +128,24 @@ class ContentPageRetrieveView(generics.RetrieveAPIView): lookup_field = 'slug' permission_classes = (permissions.AllowAny,) - serializer_class = serializers.ContentPageSerializer - queryset = models.ContentPage.objects.all() + serializer_class = NewsDetailSerializer + queryset = News.objects.all() + + def get_queryset(self): + static_page_category = NewsType.objects.get(name='static-page') + return super().get_queryset().filter(news_type=static_page_category) class ContentPageIdRetrieveView(generics.RetrieveAPIView): """Retrieve method to get content pages""" permission_classes = (permissions.AllowAny,) - serializer_class = serializers.ContentPageSerializer - queryset = models.ContentPage.objects.all() + serializer_class = NewsDetailSerializer + queryset = News.objects.all() + + def get_queryset(self): + static_page_category = NewsType.objects.get(name='static-page') + return super().get_queryset().filter(news_type=static_page_category) class ContentPageRetrieveAdminView(generics.RetrieveUpdateDestroyAPIView): @@ -135,5 +153,9 @@ class ContentPageRetrieveAdminView(generics.RetrieveUpdateDestroyAPIView): lookup_field = 'slug' permission_classes = (permissions.IsAdminUser,) - serializer_class = serializers.ContentPageSerializer - queryset = models.ContentPage.objects.all() + serializer_class = NewsDetailSerializer + queryset = News.objects.all() + + def get_queryset(self): + static_page_category = NewsType.objects.get(name='static-page') + return super().get_queryset().filter(news_type=static_page_category) From 0c40ed06e1fc1e8c61fd5ed5b37e12fbd325ec92 Mon Sep 17 00:00:00 2001 From: dormantman Date: Thu, 23 Jan 2020 17:38:55 +0300 Subject: [PATCH 5/6] Changed to text/html response --- apps/main/views/common.py | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/apps/main/views/common.py b/apps/main/views/common.py index c6b77821..c82af99e 100644 --- a/apps/main/views/common.py +++ b/apps/main/views/common.py @@ -1,11 +1,13 @@ """Main app views.""" from django.http import Http404 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.serializers import NewsDetailSerializer, NewsListSerializer +from news.views import NewsMixinView from utils.serializers import EmptySerializer @@ -107,7 +109,7 @@ class ContentPageView(generics.ListAPIView): queryset = News.objects.all() def get_queryset(self): - static_page_category = NewsType.objects.get(name='static-page') + static_page_category = NewsType.objects.get(name='static') return super().get_queryset().filter(news_type=static_page_category) @@ -119,21 +121,26 @@ class ContentPageAdminView(generics.ListCreateAPIView): queryset = News.objects.all() def get_queryset(self): - static_page_category = NewsType.objects.get(name='static-page') + static_page_category = NewsType.objects.get(name='static') return super().get_queryset().filter(news_type=static_page_category) -class ContentPageRetrieveView(generics.RetrieveAPIView): +class ContentPageRetrieveView(NewsMixinView, generics.RetrieveAPIView): """Retrieve method to get content pages""" - lookup_field = 'slug' + lookup_field = None permission_classes = (permissions.AllowAny,) serializer_class = NewsDetailSerializer queryset = News.objects.all() + renderer_classes = [StaticHTMLRenderer] def get_queryset(self): - static_page_category = NewsType.objects.get(name='static-page') - return super().get_queryset().filter(news_type=static_page_category) + static_page_category = NewsType.objects.get(name='static') + return self.queryset.filter(news_type__id=static_page_category.id) + + def get(self, request, *args, **kwargs): + instance = self.get_object() + return Response(instance.description.get(request.locale)) class ContentPageIdRetrieveView(generics.RetrieveAPIView): @@ -142,20 +149,25 @@ class ContentPageIdRetrieveView(generics.RetrieveAPIView): permission_classes = (permissions.AllowAny,) serializer_class = NewsDetailSerializer queryset = News.objects.all() + renderer_classes = [StaticHTMLRenderer] def get_queryset(self): - static_page_category = NewsType.objects.get(name='static-page') - return super().get_queryset().filter(news_type=static_page_category) + static_page_category = NewsType.objects.get(name='static') + return self.queryset.filter(news_type__id=static_page_category.id) + + def get(self, request, *args, **kwargs): + instance = self.get_object() + return Response(instance.description.get(request.locale)) -class ContentPageRetrieveAdminView(generics.RetrieveUpdateDestroyAPIView): +class ContentPageRetrieveAdminView(NewsMixinView, generics.RetrieveUpdateDestroyAPIView): """Retrieve method to get content pages""" - lookup_field = 'slug' + lookup_field = None permission_classes = (permissions.IsAdminUser,) serializer_class = NewsDetailSerializer queryset = News.objects.all() def get_queryset(self): - static_page_category = NewsType.objects.get(name='static-page') + static_page_category = NewsType.objects.get(name='static') return super().get_queryset().filter(news_type=static_page_category) From d98a6aeb001c5d38da8743c098e2ae0f93ba5f84 Mon Sep 17 00:00:00 2001 From: dormantman Date: Thu, 23 Jan 2020 17:45:59 +0300 Subject: [PATCH 6/6] Change structure --- apps/main/views/common.py | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/apps/main/views/common.py b/apps/main/views/common.py index c82af99e..b93096b4 100644 --- a/apps/main/views/common.py +++ b/apps/main/views/common.py @@ -101,17 +101,30 @@ class DetermineLocation(generics.GenericAPIView): raise Http404 -class ContentPageView(generics.ListAPIView): +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 + + def get_queryset(self): + return super().get_queryset().filter(news_type=self.static_page_category) + + +class ContentPageView(ContentPageBaseView, generics.ListAPIView): """Method to get content pages""" permission_classes = (permissions.AllowAny,) serializer_class = NewsListSerializer queryset = News.objects.all() - def get_queryset(self): - static_page_category = NewsType.objects.get(name='static') - return super().get_queryset().filter(news_type=static_page_category) - class ContentPageAdminView(generics.ListCreateAPIView): """Method to get content pages""" @@ -120,10 +133,6 @@ class ContentPageAdminView(generics.ListCreateAPIView): serializer_class = NewsListSerializer queryset = News.objects.all() - def get_queryset(self): - static_page_category = NewsType.objects.get(name='static') - return super().get_queryset().filter(news_type=static_page_category) - class ContentPageRetrieveView(NewsMixinView, generics.RetrieveAPIView): """Retrieve method to get content pages""" @@ -134,10 +143,6 @@ class ContentPageRetrieveView(NewsMixinView, generics.RetrieveAPIView): queryset = News.objects.all() renderer_classes = [StaticHTMLRenderer] - def get_queryset(self): - static_page_category = NewsType.objects.get(name='static') - return self.queryset.filter(news_type__id=static_page_category.id) - def get(self, request, *args, **kwargs): instance = self.get_object() return Response(instance.description.get(request.locale)) @@ -151,10 +156,6 @@ class ContentPageIdRetrieveView(generics.RetrieveAPIView): queryset = News.objects.all() renderer_classes = [StaticHTMLRenderer] - def get_queryset(self): - static_page_category = NewsType.objects.get(name='static') - return self.queryset.filter(news_type__id=static_page_category.id) - def get(self, request, *args, **kwargs): instance = self.get_object() return Response(instance.description.get(request.locale)) @@ -167,7 +168,3 @@ class ContentPageRetrieveAdminView(NewsMixinView, generics.RetrieveUpdateDestroy permission_classes = (permissions.IsAdminUser,) serializer_class = NewsDetailSerializer queryset = News.objects.all() - - def get_queryset(self): - static_page_category = NewsType.objects.get(name='static') - return super().get_queryset().filter(news_type=static_page_category)