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