From edfd5296f3831e96b3cd403b60bf115e12078906 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Thu, 19 Mar 2020 11:40:54 +0100 Subject: [PATCH] Move extensions for announcement model to model_extensions.py --- aleksis/apps/chronos/model_extensions.py | 13 ++++++++++++- aleksis/apps/chronos/models.py | 11 +---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/aleksis/apps/chronos/model_extensions.py b/aleksis/apps/chronos/model_extensions.py index 67260090..31bdbab5 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 0d47ee1e..55c5f7c4 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" -- GitLab