1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2024-11-27 02:43:01 +00:00
nk20/apps/member/filters.py

37 lines
990 B
Python
Raw Normal View History

2019-09-23 10:50:14 +00:00
# -*- mode: python; coding: utf-8 -*-
# Copyright (C) 2018-2019 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
2020-02-18 11:31:15 +00:00
from django_filters import FilterSet, CharFilter, NumberFilter
2019-09-23 10:50:14 +00:00
from django.contrib.auth.models import User
from django.db.models import CharField
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Submit
2020-02-18 11:31:15 +00:00
from .models import Club
2019-09-23 10:50:14 +00:00
class UserFilter(FilterSet):
class Meta:
model = User
2020-02-18 11:31:15 +00:00
fields = ['last_name', 'first_name', 'username', 'profile__section']
filter_overrides = {
CharField: {
'filter_class': CharFilter,
'extra': lambda f: {
'lookup_expr': 'icontains'
2019-09-23 10:50:14 +00:00
}
}
}
2020-02-18 11:31:15 +00:00
2019-09-23 10:50:14 +00:00
class UserFilterFormHelper(FormHelper):
form_method = 'GET'
layout = Layout(
2020-02-18 11:31:15 +00:00
'last_name',
'first_name',
'username',
'profile__section',
Submit('Submit', 'Apply Filter'),
2019-09-23 10:50:14 +00:00
)