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)