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') 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): class PanelQuerySet(models.QuerySet):
"""Panels QuerySet.""" """Panels QuerySet."""

View File

@ -5,7 +5,7 @@ from rest_framework import serializers
from location.serializers import CountrySerializer from location.serializers import CountrySerializer
from main import models from main import models
from tag.serializers import TagBackOfficeSerializer from tag.serializers import TagBackOfficeSerializer
from utils.serializers import ProjectModelSerializer, TranslatedField, RecursiveFieldSerializer from utils.serializers import ProjectModelSerializer, RecursiveFieldSerializer, TranslatedField
class FeatureSerializer(serializers.ModelSerializer): class FeatureSerializer(serializers.ModelSerializer):
@ -345,21 +345,3 @@ class NavigationBarPermissionBaseSerializer(serializers.ModelSerializer):
'sections', 'sections',
'permission_mode_display', '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.""" """Main app views."""
from django.http import Http404 from django.http import Http404
from django.conf import settings
from rest_framework import generics, permissions from rest_framework import generics, permissions
from rest_framework.response import Response from rest_framework.response import Response
from main import methods, models, serializers 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: # class FeatureViewMixin:
@ -42,7 +45,6 @@ from main import methods, models, serializers
# class SiteFeaturesRUDView(SiteFeaturesViewMixin, # class SiteFeaturesRUDView(SiteFeaturesViewMixin,
# generics.RetrieveUpdateDestroyAPIView): # generics.RetrieveUpdateDestroyAPIView):
# """Site features RUD.""" # """Site features RUD."""
from utils.serializers import EmptySerializer
class AwardView(generics.ListAPIView): class AwardView(generics.ListAPIView):
@ -101,16 +103,24 @@ class ContentPageView(generics.ListAPIView):
"""Method to get content pages""" """Method to get content pages"""
permission_classes = (permissions.AllowAny,) permission_classes = (permissions.AllowAny,)
serializer_class = serializers.ContentPageSerializer serializer_class = NewsListSerializer
queryset = models.ContentPage.objects.all() 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): class ContentPageAdminView(generics.ListCreateAPIView):
"""Method to get content pages""" """Method to get content pages"""
permission_classes = (permissions.IsAdminUser,) permission_classes = (permissions.IsAdminUser,)
serializer_class = serializers.ContentPageSerializer serializer_class = NewsListSerializer
queryset = models.ContentPage.objects.all() 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): class ContentPageRetrieveView(generics.RetrieveAPIView):
@ -118,16 +128,24 @@ class ContentPageRetrieveView(generics.RetrieveAPIView):
lookup_field = 'slug' lookup_field = 'slug'
permission_classes = (permissions.AllowAny,) permission_classes = (permissions.AllowAny,)
serializer_class = serializers.ContentPageSerializer serializer_class = NewsDetailSerializer
queryset = models.ContentPage.objects.all() 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): class ContentPageIdRetrieveView(generics.RetrieveAPIView):
"""Retrieve method to get content pages""" """Retrieve method to get content pages"""
permission_classes = (permissions.AllowAny,) permission_classes = (permissions.AllowAny,)
serializer_class = serializers.ContentPageSerializer serializer_class = NewsDetailSerializer
queryset = models.ContentPage.objects.all() 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): class ContentPageRetrieveAdminView(generics.RetrieveUpdateDestroyAPIView):
@ -135,5 +153,9 @@ class ContentPageRetrieveAdminView(generics.RetrieveUpdateDestroyAPIView):
lookup_field = 'slug' lookup_field = 'slug'
permission_classes = (permissions.IsAdminUser,) permission_classes = (permissions.IsAdminUser,)
serializer_class = serializers.ContentPageSerializer serializer_class = NewsDetailSerializer
queryset = models.ContentPage.objects.all() 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)