diff --git a/aleksis/apps/chronos/model_extensions.py b/aleksis/apps/chronos/model_extensions.py index 672600908bbb9d847ce8fae762ca5b1dd5da4b9b..31bdbab5eb0400b70ebb94fab1f7f86801b21866 100644 --- a/aleksis/apps/chronos/model_extensions.py +++ b/aleksis/apps/chronos/model_extensions.py @@ -1,6 +1,9 @@ from typing import Optional, Union -from aleksis.core.models import Person, Group +from django.utils.translation import gettext_lazy as _ +from jsonstore import BooleanField + +from aleksis.core.models import Person, Group, Announcement from .models import Lesson, LessonPeriod @@ -81,3 +84,11 @@ def lesson_periods_as_teacher(self): """ return LessonPeriod.objects.filter(lesson__teachers=self) + + +def for_timetables(cls): + return cls.objects.filter(show_in_timetables=True) + + +Announcement.class_method(for_timetables) +Announcement.field(show_in_timetables=BooleanField(verbose_name=_("Show announcement in timetable views?"))) diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py index 0d47ee1efc5f00c95d6d41b07f54bed06f5741fa..55c5f7c403f98638832fc99b4c1f75b64354c7b3 100644 --- a/aleksis/apps/chronos/models.py +++ b/aleksis/apps/chronos/models.py @@ -19,10 +19,9 @@ from django.utils.translation import ugettext_lazy as _ from calendarweek.django import CalendarWeek, i18n_day_names_lazy, i18n_day_abbrs_lazy from django_global_request.middleware import get_request -from jsonstore import BooleanField from aleksis.core.mixins import ExtensibleModel -from aleksis.core.models import Group, Person, DashboardWidget, Announcement +from aleksis.core.models import Group, Person, DashboardWidget from aleksis.apps.chronos.util.date import week_weekday_from_date from aleksis.core.util.core_helpers import has_person @@ -553,14 +552,6 @@ class LessonPeriod(ExtensibleModel): indexes = [models.Index(fields=["lesson", "period"])] -def for_timetables(cls): - return cls.objects.filter(show_in_timetables=True) - - -Announcement.class_method(for_timetables) -Announcement.field(show_in_timetables=BooleanField(verbose_name=_("Show announcement in timetable views?"))) - - class TimetableWidget(DashboardWidget): template = "chronos/widget.html"