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