Skip to content
Snippets Groups Projects
Verified Commit edfd5296 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Move extensions for announcement model to model_extensions.py

parent 1ed1dd51
No related branches found
No related tags found
1 merge request!41Show announcements in timetable views
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?")))
......@@ -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"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment