Source code for eucrim.article.filters

# SPDX-FileCopyrightText: 2024 Thomas Breitner <t.breitner@csl.mpg.de>
#
# SPDX-License-Identifier: EUPL-1.2

import django_filters

# from core.models import Category
from eucrim.core.widgets import DropdownLinkWidget
from .models import ArticlePage


[docs] class LanguageWidget(DropdownLinkWidget): label = "Language" right = False
[docs] class ArticleTypeWidget(DropdownLinkWidget): label = "Type" right = False
[docs] class ArticleFilter(django_filters.FilterSet): # tags = django_filters.CharFilter(lookup_expr='icontains') # title = django_filters.CharFilter(lookup_expr='icontains') # categories = django_filters.ModelMultipleChoiceFilter(queryset=Category.objects.all(), # widget=forms.CheckboxSelectMultiple) language = django_filters.ChoiceFilter( label="Language", choices=ArticlePage.LANGUAGE_CHOICES, widget=LanguageWidget, ) article_type = django_filters.ChoiceFilter( label="Type", choices=ArticlePage.ARTICLE_TYPE_CHOICES, widget=ArticleTypeWidget, ) # tags = django_filters.AllValuesFilter( # name="tags__name", # label="Tags", # widget=LinkWidget(), # )
[docs] class Meta: model = ArticlePage # fields = ['title', 'authors', 'tags', 'categories', 'language'] fields = [ "article_type", "language", ]