diff --git a/aleksis/apps/alsijil/actions.py b/aleksis/apps/alsijil/actions.py index 698c61670422eccb73bc3da4ea3a7426b27efc7b..6aedbc2ae0c8451fa32fe1157b97f5d3fb355229 100644 --- a/aleksis/apps/alsijil/actions.py +++ b/aleksis/apps/alsijil/actions.py @@ -9,8 +9,6 @@ from django.utils.translation import gettext_lazy as _ from aleksis.core.models import Notification -from django.utils.translation import gettext_lazy as _ - def mark_as_excused(modeladmin, request, queryset): queryset.update(excused=True, excuse_type=None) @@ -41,6 +39,7 @@ def delete_personal_note(modeladmin, request, queryset): delete_personal_note.short_description = _("Delete") + def send_request_to_check_entry(modeladmin, request: HttpRequest, selected_items: Sequence[dict]): """Send notifications to the teachers of the selected register objects. diff --git a/aleksis/apps/alsijil/filters.py b/aleksis/apps/alsijil/filters.py index ca793aa5aa20a36bb913fffc8c6656bf3064b5e1..178481942e11b1e36ca3a614fc830a39aca3fdb4 100644 --- a/aleksis/apps/alsijil/filters.py +++ b/aleksis/apps/alsijil/filters.py @@ -1,6 +1,6 @@ from django.utils.translation import gettext as _ -from django_filters import FilterSet, CharFilter, ModelMultipleChoiceFilter, DateFilter +from django_filters import CharFilter, DateFilter, FilterSet, ModelMultipleChoiceFilter from material import Layout, Row from .models import ExcuseType, PersonalNote @@ -19,7 +19,7 @@ class PersonalNoteFilter(FilterSet): Row("subject"), Row("day_start", "day_end"), Row("absent", "excused", "excuse_type"), - Row("late__gt", "late__lt", "extra_marks") + Row("late__gt", "late__lt", "extra_marks"), ) class Meta: @@ -27,7 +27,7 @@ class PersonalNoteFilter(FilterSet): fields = { "excused": ["exact"], "late": ["lt", "gt"], - "absent": ['exact'], + "absent": ["exact"], "excuse_type": ["exact"], "extra_marks": ["exact"], } diff --git a/aleksis/apps/alsijil/forms.py b/aleksis/apps/alsijil/forms.py index 67e906e275adbf6ab2daf29341f52cecd3365359..2417754338f2d9d6e4dd3b0cebb76e6e6bb32288 100644 --- a/aleksis/apps/alsijil/forms.py +++ b/aleksis/apps/alsijil/forms.py @@ -16,7 +16,6 @@ from aleksis.apps.chronos.managers import TimetableType from aleksis.apps.chronos.models import Subject, TimePeriod from aleksis.core.forms import ActionForm, ListActionForm from aleksis.core.models import Group, Person, SchoolTerm -from aleksis.apps.chronos.models import TimePeriod from aleksis.core.util.core_helpers import get_site_preferences from aleksis.core.util.predicates import check_global_permission @@ -27,7 +26,6 @@ from .actions import ( mark_as_unexcused, send_request_to_check_entry, ) - from .models import ( ExcuseType, ExtraMark, diff --git a/aleksis/apps/alsijil/managers.py b/aleksis/apps/alsijil/managers.py index 555042a1257138cb6494760ccd89f4d7b45207c1..696874bdfc15ed8f7e1069f6801a133a269c7289 100644 --- a/aleksis/apps/alsijil/managers.py +++ b/aleksis/apps/alsijil/managers.py @@ -78,15 +78,9 @@ class RegisterObjectRelatedQuerySet(QuerySet): """ return self.annotate( subject=Case( - When( - lesson_period__isnull=False, - then="lesson_period__lesson__subject__name", - ), - When( - extra_lesson__isnull=False, - then="extra_lesson__subject__name", - ), - default=Value(_("Event")) + When(lesson_period__isnull=False, then="lesson_period__lesson__subject__name",), + When(extra_lesson__isnull=False, then="extra_lesson__subject__name",), + default=Value(_("Event")), ) ) diff --git a/aleksis/apps/alsijil/tables.py b/aleksis/apps/alsijil/tables.py index 1a71b901c64f6684a344474687bb247c2f1438bb..e7fb6df6da3e9a80e0ae3e51e8c8674200e94176 100644 --- a/aleksis/apps/alsijil/tables.py +++ b/aleksis/apps/alsijil/tables.py @@ -87,9 +87,7 @@ class GroupRoleTable(tables.Table): class PersonalNoteTable(tables.Table): - selected = SelectColumn( - attrs={"input": {"name": "selected_objects"}}, accessor=A("pk") - ) + selected = SelectColumn(attrs={"input": {"name": "selected_objects"}}, accessor=A("pk")) date = tables.Column( verbose_name=_("Date"), accessor=A("date_formatted"), order_by=A("day_start") ) @@ -121,9 +119,14 @@ class PersonalNoteTable(tables.Table): return value def render_absent(self, value): - return render_to_string( - "components/materialize-chips.html", dict(content="Absent", classes="red white-text") - ) if value else "–" + return ( + render_to_string( + "components/materialize-chips.html", + dict(content="Absent", classes="red white-text"), + ) + if value + else "–" + ) def render_excused(self, value, record): if record.absent: diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py index ac76e5451057210b18ff282b23a7dbbf74b8983e..18a3547d1909220e4253b9e6c46675ce47a4e118 100644 --- a/aleksis/apps/alsijil/views.py +++ b/aleksis/apps/alsijil/views.py @@ -825,13 +825,17 @@ def overview_person(request: HttpRequest, id_: Optional[int] = None) -> HttpResp ) .order_by( "-school_term_start", "-order_year", "-order_week", "-order_weekday", "order_period", - ).annotate_date_range().annotate_subject() + ) + .annotate_date_range() + .annotate_subject() ) personal_note_filter_object = PersonalNoteFilter(request.GET, queryset=personal_notes) filtered_personal_notes = personal_note_filter_object.qs context["personal_note_filter_form"] = personal_note_filter_object.form used_filters = list(personal_note_filter_object.data.values()) - context["num_filters"] = len(used_filters) - used_filters.count("") - used_filters.count("unknown") + context["num_filters"] = ( + len(used_filters) - used_filters.count("") - used_filters.count("unknown") + ) personal_notes_list = [] for note in personal_notes: