From 26a4d506b635b0b59ecd9e232e2dfd4dd8e04df7 Mon Sep 17 00:00:00 2001 From: Julian Leucker <leuckerj@gmail.com> Date: Sat, 15 May 2021 22:55:44 +0200 Subject: [PATCH] Filter date and subject of personal notes --- aleksis/apps/alsijil/filters.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/aleksis/apps/alsijil/filters.py b/aleksis/apps/alsijil/filters.py index c6bda959e..ca793aa5a 100644 --- a/aleksis/apps/alsijil/filters.py +++ b/aleksis/apps/alsijil/filters.py @@ -1,18 +1,25 @@ from django.utils.translation import gettext as _ -from django_filters import FilterSet, CharFilter, ModelMultipleChoiceFilter +from django_filters import FilterSet, CharFilter, ModelMultipleChoiceFilter, DateFilter from material import Layout, Row from .models import ExcuseType, PersonalNote class PersonalNoteFilter(FilterSet): + day_start = DateFilter(lookup_expr="gte", label=_("After")) + day_end = DateFilter(lookup_expr="lte", label=_("Before")) + subject = CharFilter(lookup_expr="icontains", label=_("Subject")) + def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) + self.form.fields["late__lt"].label = _("Tardiness is lower than") + self.form.fields["late__gt"].label = _("Tardiness is bigger than") self.form.layout = Layout( - # TODO: Row with day (lt and gt) and subject (char search), + Row("subject"), + Row("day_start", "day_end"), Row("absent", "excused", "excuse_type"), - Row("late__lt", "late__gt", "extra_marks") + Row("late__gt", "late__lt", "extra_marks") ) class Meta: @@ -23,6 +30,4 @@ class PersonalNoteFilter(FilterSet): "absent": ['exact'], "excuse_type": ["exact"], "extra_marks": ["exact"], - # TODO: "date??": ['lt', 'gt'], - # TODO: "subject??": "exact", } -- GitLab