From abcdf924e812d77082d062788805f0e7c27411da Mon Sep 17 00:00:00 2001 From: "N. Geisler" <ngeisler@fachschaft.informatik.tu-darmstadt.de> Date: Fri, 11 Oct 2019 18:56:14 +0200 Subject: [PATCH] create and register AK Slot model --- AKModel/admin.py | 5 ++++- AKModel/models.py | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/AKModel/admin.py b/AKModel/admin.py index bcfb719c..a90b3ff2 100644 --- a/AKModel/admin.py +++ b/AKModel/admin.py @@ -2,7 +2,7 @@ from django.contrib import admin -from AKModel.models import Event, AKOwner, AKType, AKTrack, AKTag, AKRequirement, AK, Room +from AKModel.models import Event, AKOwner, AKType, AKTrack, AKTag, AKRequirement, AK, Room, AKSlot admin.site.register(Event) @@ -13,4 +13,7 @@ admin.site.register(AKTrack) admin.site.register(AKTag) admin.site.register(AKRequirement) admin.site.register(AK) + admin.site.register(Room) + +admin.site.register(AKSlot) diff --git a/AKModel/models.py b/AKModel/models.py index 372ad917..8a89dbf8 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -137,3 +137,21 @@ class Room(models.Model): verbose_name_plural = 'Rooms' ordering = ['building', 'name'] unique_together = [['name', 'building']] + + +class AKSlot(models.Model): + """ An AK Mapping matches an AK to a room during a certain time. + """ + ak = models.ForeignKey(to=AK, on_delete=models.CASCADE, verbose_name='AK', help_text='AK being mapped') + room = models.ForeignKey(to=Room, null=True, on_delete=models.SET_NULL, verbose_name='Room', + help_text='Room the AK will take place in') + start = models.DateTimeField(verbose_name='Slot Begin', help_text='Time and date the slot begins') + duration = models.DecimalField(max_digits=4, decimal_places=2, default=2, verbose_name='Duration', + help_text='Length in hours') + + event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name='Event', help_text='Matching event') + + class Meta: + verbose_name = 'AK Slot' + verbose_name_plural = 'AK Slots' + ordering = ['start', 'room'] -- GitLab