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]