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

Add "show_in_timetables" field to announcements


- Add JSON field
- Add filter method
- Add form row

Signed-off-by: Jonathan Weth's avatarJonathan Weth <git@jonathanweth.de>
parent 940bfa7d
No related branches found
No related tags found
1 merge request!41Show announcements in timetable views
from django import forms
from django_select2.forms import ModelSelect2MultipleWidget
from django.utils.translation import gettext_lazy as _
from material import Fieldset
from .models import LessonSubstitution
from aleksis.core.forms import AnnouncementForm
class LessonSubstitutionForm(forms.ModelForm):
......@@ -17,3 +20,6 @@ class LessonSubstitutionForm(forms.ModelForm):
]
)
}
AnnouncementForm.add_node_to_layout(Fieldset(_("Options for timetables"), "show_in_timetables"))
......@@ -19,9 +19,10 @@ 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
from aleksis.core.models import Group, Person, DashboardWidget, Announcement
from aleksis.apps.chronos.util.date import week_weekday_from_date
from aleksis.core.util.core_helpers import has_person
......@@ -552,6 +553,15 @@ class LessonPeriod(ExtensibleModel):
indexes = [models.Index(fields=["lesson", "period"])]
@classmethod
def for_timetables(cls):
return cls.objects.filter(show_in_timetables=True)
Announcement.for_timetables = 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