From a71d04c2e65f58e147eb6a65c951e45fb0e54914 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Sat, 27 May 2023 12:53:24 +0200 Subject: [PATCH] Add SupervisionEvent model for supervisions --- aleksis/apps/chronos/models.py | 17 +++++++++++++++++ .../chronos/lesson_event_description.txt | 4 ++++ .../chronos/supervision_event_description.txt | 2 ++ 3 files changed, 23 insertions(+) create mode 100644 aleksis/apps/chronos/templates/chronos/lesson_event_description.txt create mode 100644 aleksis/apps/chronos/templates/chronos/supervision_event_description.txt diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py index 8035ad4d..67d5d0e3 100644 --- a/aleksis/apps/chronos/models.py +++ b/aleksis/apps/chronos/models.py @@ -1380,6 +1380,7 @@ class LessonEvent(CalendarEvent): Group, related_name="lesson_events", verbose_name=_("Groups"), + blank=True, ) rooms = models.ManyToManyField( @@ -1477,3 +1478,19 @@ class LessonEvent(CalendarEvent): class Meta: verbose_name = _("Lesson Event") verbose_name_plural = _("Lesson Events") + + +class SupervisionEvent(LessonEvent): + name = "supervision" + verbose_name = _("Supervisions") + + + @classmethod + def value_title(cls, reference_object: "LessonEvent") -> str: + """Get the title of the event.""" + + return _("Supervision: {}").format(reference_object.room_names) + + @classmethod + def value_description(cls, reference_object: "LessonEvent") -> str: + return render_to_string("chronos/supervision_event_description.txt", {"event": reference_object}) \ No newline at end of file diff --git a/aleksis/apps/chronos/templates/chronos/lesson_event_description.txt b/aleksis/apps/chronos/templates/chronos/lesson_event_description.txt new file mode 100644 index 00000000..db81aa0a --- /dev/null +++ b/aleksis/apps/chronos/templates/chronos/lesson_event_description.txt @@ -0,0 +1,4 @@ +{% load i18n %}{% trans "Groups" %}: {{ event.group_names }} +{% trans "Subject" %}: {{ event.subject }} +{% trans "Teachers" %}: {{ event.teacher_names }} +{% trans "Rooms" %}: {{ event.room_names }} \ No newline at end of file diff --git a/aleksis/apps/chronos/templates/chronos/supervision_event_description.txt b/aleksis/apps/chronos/templates/chronos/supervision_event_description.txt new file mode 100644 index 00000000..d2f311f2 --- /dev/null +++ b/aleksis/apps/chronos/templates/chronos/supervision_event_description.txt @@ -0,0 +1,2 @@ +{% load i18n %}{% trans "Teachers" %}: {{ event.teacher_names }} +{% trans "Areas" %}: {{ event.room_names }} \ No newline at end of file -- GitLab