From 80d4338a1d06c7f3badfc46a0e0826534e136009 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Fri, 26 Jul 2024 22:15:02 +0200 Subject: [PATCH] Support OPTIONAL slot numbers for lesson events (only for displaying purposes) --- .../migrations/0017_optional_slot_number.py | 23 +++++++++++++++++++ aleksis/apps/chronos/models.py | 9 ++++++++ aleksis/apps/chronos/schema/__init__.py | 2 ++ 3 files changed, 34 insertions(+) create mode 100644 aleksis/apps/chronos/migrations/0017_optional_slot_number.py diff --git a/aleksis/apps/chronos/migrations/0017_optional_slot_number.py b/aleksis/apps/chronos/migrations/0017_optional_slot_number.py new file mode 100644 index 00000000..6ea182cf --- /dev/null +++ b/aleksis/apps/chronos/migrations/0017_optional_slot_number.py @@ -0,0 +1,23 @@ +# Generated by Django 5.0.7 on 2024-07-26 19:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('chronos', '0016_lessonevent'), + ] + + operations = [ + migrations.AddField( + model_name='lessonevent', + name='slot_number_end', + field=models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='End slot number'), + ), + migrations.AddField( + model_name='lessonevent', + name='slot_number_start', + field=models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='Start slot number'), + ), + ] diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py index 187e0d6d..35f4e011 100644 --- a/aleksis/apps/chronos/models.py +++ b/aleksis/apps/chronos/models.py @@ -1297,6 +1297,13 @@ class LessonEvent(CalendarEvent): title = models.CharField(verbose_name=_("Name"), max_length=255, blank=True) + slot_number_start = models.PositiveSmallIntegerField( + verbose_name=_("Start slot number"), blank=True, null=True + ) + slot_number_end = models.PositiveSmallIntegerField( + verbose_name=_("End slot number"), blank=True, null=True + ) + course = models.ForeignKey( Course, on_delete=models.CASCADE, verbose_name=_("Course"), null=True, blank=True ) @@ -1493,6 +1500,8 @@ class LessonEvent(CalendarEvent): if reference_object.amends else None, "title": reference_object.title, + "slot_number_start": reference_object.slot_number_start, + "slot_number_end": reference_object.slot_number_end, "teachers": [ { "id": t.pk, diff --git a/aleksis/apps/chronos/schema/__init__.py b/aleksis/apps/chronos/schema/__init__.py index 5dec4002..c6f1cdf0 100644 --- a/aleksis/apps/chronos/schema/__init__.py +++ b/aleksis/apps/chronos/schema/__init__.py @@ -41,6 +41,8 @@ class LessonEventType(DjangoObjectType): fields = ( "id", "title", + "slot_number_start", + "slot_number_end", "amends", "datetime_start", "datetime_end", -- GitLab