Change method model

This commit is contained in:
dormantman 2020-01-23 13:56:17 +03:00
parent 3f44a76da9
commit 18978355bc
5 changed files with 35 additions and 103 deletions

View File

@ -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,
},
),
]

View File

@ -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'),
),
]

View File

@ -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."""

View File

@ -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'
]

View File

@ -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)