From 0bc356c8f2b08959202b2ed43d239b17d2af377d Mon Sep 17 00:00:00 2001 From: "N. Geisler" <ngeisler@fachschaft.informatik.tu-darmstadt.de> Date: Fri, 11 Oct 2019 18:55:38 +0200 Subject: [PATCH] create and register Room model --- AKModel/admin.py | 3 ++- AKModel/models.py | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/AKModel/admin.py b/AKModel/admin.py index 53d99582..bcfb719c 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 +from AKModel.models import Event, AKOwner, AKType, AKTrack, AKTag, AKRequirement, AK, Room admin.site.register(Event) @@ -13,3 +13,4 @@ admin.site.register(AKTrack) admin.site.register(AKTag) admin.site.register(AKRequirement) admin.site.register(AK) +admin.site.register(Room) diff --git a/AKModel/models.py b/AKModel/models.py index a46a4aec..372ad917 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -117,3 +117,23 @@ class AK(models.Model): class Meta: verbose_name = 'AK' verbose_name_plural = 'AKs' + + +class Room(models.Model): + """ A room describes where an AK can be held. + """ + name = models.CharField(max_length=64, verbose_name='Name', help_text='Name or number of the room') + building = models.CharField(max_length=256, verbose_name='Building', help_text='Name or number of the building') + capacity = models.IntegerField(verbose_name='Capacity', help_text='Maximum number of people') + properties = models.ManyToManyField(to=AKRequirement, verbose_name='Properties', + help_text='AK requirements fulfilled by the room') + + # TODO model availability + + event = models.ForeignKey(to=Event, on_delete=models.CASCADE, verbose_name='Event', help_text='Matching event') + + class Meta: + verbose_name = 'Room' + verbose_name_plural = 'Rooms' + ordering = ['building', 'name'] + unique_together = [['name', 'building']] -- GitLab