slugs news
This commit is contained in:
parent
22408bf21f
commit
bd3dd47742
|
|
@ -15,6 +15,7 @@ from utils.serializers import (TranslatedField, ProjectModelSerializer,
|
|||
FavoritesCreateSerializer, ImageBaseSerializer, CarouselCreateSerializer)
|
||||
from rating import models as rating_models
|
||||
from django.shortcuts import get_object_or_404
|
||||
from utils.models import get_current_locale, get_default_locale
|
||||
|
||||
|
||||
class AgendaSerializer(ProjectModelSerializer):
|
||||
|
|
@ -70,6 +71,13 @@ class NewsBaseSerializer(ProjectModelSerializer):
|
|||
tags = TagBaseSerializer(read_only=True, many=True, source='visible_tags')
|
||||
in_favorites = serializers.BooleanField(allow_null=True, read_only=True)
|
||||
view_counter = serializers.IntegerField(read_only=True)
|
||||
slug = serializers.SerializerMethodField(read_only=True, allow_null=True)
|
||||
|
||||
def get_slug(self, obj):
|
||||
if obj.slugs:
|
||||
return obj.slugs.get(get_current_locale()) \
|
||||
or obj.slugs.get(get_default_locale()) \
|
||||
or next(iter(obj.slugs.values()))
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
|
|
@ -77,12 +85,12 @@ class NewsBaseSerializer(ProjectModelSerializer):
|
|||
model = models.News
|
||||
fields = (
|
||||
'id',
|
||||
'slug',
|
||||
'title_translated',
|
||||
'subtitle_translated',
|
||||
'is_highlighted',
|
||||
'news_type',
|
||||
'tags',
|
||||
'slugs',
|
||||
'view_counter',
|
||||
)
|
||||
|
||||
|
|
@ -173,6 +181,7 @@ class NewsBackOfficeBaseSerializer(NewsBaseSerializer):
|
|||
'title',
|
||||
'backoffice_title',
|
||||
'subtitle',
|
||||
'slugs',
|
||||
'is_published',
|
||||
)
|
||||
extra_kwargs = {
|
||||
|
|
|
|||
|
|
@ -222,6 +222,7 @@ class NewsDocumentSerializer(InFavoritesMixin, DocumentSerializer):
|
|||
subtitle_translated = serializers.SerializerMethodField(allow_null=True)
|
||||
news_type = NewsTypeSerializer()
|
||||
tags = TagsDocumentSerializer(many=True, source='visible_tags')
|
||||
slug = serializers.SerializerMethodField(allow_null=True)
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
|
|
@ -237,9 +238,13 @@ class NewsDocumentSerializer(InFavoritesMixin, DocumentSerializer):
|
|||
'news_type',
|
||||
'tags',
|
||||
'start',
|
||||
'slugs',
|
||||
'slug',
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def get_slug(obj):
|
||||
return get_translated_value(obj.slugs)
|
||||
|
||||
@staticmethod
|
||||
def get_title_translated(obj):
|
||||
return get_translated_value(obj.title)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user