Newer
Older
else:
return self.period_to.period
indexes = [
models.Index(fields=["period_from", "period_to", "date_start", "date_end"])
]
class ExtraLesson(
SchoolTermRelatedExtensibleModel, GroupPropertiesMixin, WeekRelatedMixin
):

Jonathan Weth
committed
objects = ExtraLessonManager.from_queryset(ExtraLessonQuerySet)()
week = models.IntegerField(
verbose_name=_("Week"), default=CalendarWeek.current_week
)
year = models.IntegerField(verbose_name=_("Year"), default=get_current_year)
"TimePeriod",
models.CASCADE,
related_name="extra_lessons",
verbose_name=_("Time period"),
subject = models.ForeignKey(
"Subject",
on_delete=models.CASCADE,
related_name="extra_lessons",
verbose_name=_("Subject"),
)
groups = models.ManyToManyField(
"core.Group", related_name="extra_lessons", verbose_name=_("Groups")
)
teachers = models.ManyToManyField(
"core.Person",
related_name="extra_lessons_as_teacher",
verbose_name=_("Teachers"),
"Room",
models.CASCADE,
null=True,
related_name="extra_lessons",
verbose_name=_("Room"),
comment = models.CharField(
verbose_name=_("Comment"), blank=True, null=True, max_length=255
)
return f"{self.week}, {self.period}, {self.subject}"
class Meta:
verbose_name = _("Extra lesson")
verbose_name_plural = _("Extra lessons")
class ChronosGlobalPermissions(ExtensibleModel):
class Meta:
managed = False
permissions = (
("view_all_timetables", _("Can view all timetables")),
("view_timetable_overview", _("Can view timetable overview")),
("view_lessons_day", _("Can view all lessons per day")),
)