X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/bc0f8e4eecbf058da20f119b5bb70d6c4690b562..ddf19efc791510fde4615c00cc85299c213d5924:/apps/organizations/filters.py diff --git a/apps/organizations/filters.py b/apps/organizations/filters.py new file mode 100644 index 00000000..f0556ced --- /dev/null +++ b/apps/organizations/filters.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- +# +# This file is part of MIL/PEER, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# +import django_filters +from django.forms.widgets import TextInput +from django.utils.translation import ugettext_lazy as _ + +from catalogue.filters import tag_filter +from organizations.models import Organization + + +class OrganizationFilterSet(django_filters.FilterSet): + name = django_filters.CharFilter( + lookup_expr='icontains', label='', + widget=TextInput(attrs={'placeholder': _('name')})) + language = tag_filter('language') + license = tag_filter('rights') + audience = tag_filter('audience') + + class Meta: + model = Organization + fields = [] + + def filter_by_tag(self, queryset, name, value): + if not value: + return queryset + return queryset.filter(document__tags__in=value).distinct()