From 7d8e4c96f1c70839ce26cc72cf03fabe41c34362 Mon Sep 17 00:00:00 2001 From: Semyon Yekhmenin Date: Tue, 19 Nov 2019 12:13:43 +0000 Subject: [PATCH] Added filter by type for bo news list --- apps/news/filters.py | 7 +++++++ apps/news/views.py | 1 + 2 files changed, 8 insertions(+) diff --git a/apps/news/filters.py b/apps/news/filters.py index 2621f3bf..6ade7eeb 100644 --- a/apps/news/filters.py +++ b/apps/news/filters.py @@ -18,6 +18,7 @@ class NewsListFilterSet(filters.FilterSet): ) tag_value__exclude = filters.CharFilter(method='exclude_tags') tag_value__in = filters.CharFilter(method='in_tags') + type = filters.CharFilter(method='by_type') class Meta: """Meta class""" @@ -51,3 +52,9 @@ class NewsListFilterSet(filters.FilterSet): return queryset.filter(**filters) else: return queryset + + def by_type(self, queryset, name, value): + if value: + return queryset.filter(news_type__name=value) + else: + return queryset diff --git a/apps/news/views.py b/apps/news/views.py index 7c7a58c6..3e841246 100644 --- a/apps/news/views.py +++ b/apps/news/views.py @@ -82,6 +82,7 @@ class NewsBackOfficeLCView(NewsBackOfficeMixinView, """Resource for a list of news for back-office users.""" serializer_class = serializers.NewsBackOfficeBaseSerializer + filter_class = filters.NewsListFilterSet create_serializers_class = serializers.NewsBackOfficeDetailSerializer permission_classes = [IsCountryAdmin | IsContentPageManager]