Merge branch 'feature/news_web_view_update' into 'develop'

Feature/news web view update

See merge request gm/gm-backend!144
This commit is contained in:
Олег Хаятов 2019-11-21 14:12:22 +00:00
commit dda58a1f5a
2 changed files with 17 additions and 0 deletions

View File

@ -20,6 +20,16 @@ class NewsListFilterSet(filters.FilterSet):
tag_value__in = filters.CharFilter(method='in_tags') tag_value__in = filters.CharFilter(method='in_tags')
type = filters.CharFilter(method='by_type') type = filters.CharFilter(method='by_type')
state = filters.NumberFilter()
SORT_BY_CREATED_CHOICE = "created"
SORT_BY_START_CHOICE = "start"
SORT_BY_CHOICES = (
(SORT_BY_CREATED_CHOICE, "created"),
(SORT_BY_START_CHOICE, "start"),
)
sort_by = filters.ChoiceFilter(method='sort_by_field', choices=SORT_BY_CHOICES)
class Meta: class Meta:
"""Meta class""" """Meta class"""
model = models.News model = models.News
@ -29,6 +39,8 @@ class NewsListFilterSet(filters.FilterSet):
'tag_group', 'tag_group',
'tag_value__exclude', 'tag_value__exclude',
'tag_value__in', 'tag_value__in',
'state',
'sort_by',
) )
def in_tags(self, queryset, name, value): def in_tags(self, queryset, name, value):
@ -58,3 +70,6 @@ class NewsListFilterSet(filters.FilterSet):
return queryset.filter(news_type__name=value) return queryset.filter(news_type__name=value)
else: else:
return queryset return queryset
def sort_by_field(self, queryset, name, value):
return queryset.order_by(f'-{value}')

View File

@ -162,6 +162,7 @@ class NewsDetailWebSerializer(NewsDetailSerializer):
class NewsBackOfficeBaseSerializer(NewsBaseSerializer): class NewsBackOfficeBaseSerializer(NewsBaseSerializer):
"""News back office base serializer.""" """News back office base serializer."""
is_published = serializers.CharField(source='is_publish', read_only=True)
class Meta(NewsBaseSerializer.Meta): class Meta(NewsBaseSerializer.Meta):
"""Meta class.""" """Meta class."""
@ -169,6 +170,7 @@ class NewsBackOfficeBaseSerializer(NewsBaseSerializer):
fields = NewsBaseSerializer.Meta.fields + ( fields = NewsBaseSerializer.Meta.fields + (
'title', 'title',
'subtitle', 'subtitle',
'is_published',
) )