From b795377edece39eb3579f76ce5d2e2b80365f396 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ji=C5=99=C3=AD=20Setni=C4=8Dka?= <setnicka@seznam.cz>
Date: Fri, 1 Jan 2021 19:36:59 +0100
Subject: [PATCH] =?UTF-8?q?DB:=20Podpora=20pro=20vytahov=C3=A1n=C3=AD=20ka?=
 =?UTF-8?q?tegori=C3=AD,=20kol=20a=20stav=C5=AF=20=C3=BA=C4=8Dasti=20do=20?=
 =?UTF-8?q?formul=C3=A1=C5=99=C5=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 mo/db.py | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/mo/db.py b/mo/db.py
index a9b2f5da..cf8d1f77 100644
--- a/mo/db.py
+++ b/mo/db.py
@@ -232,6 +232,23 @@ class PartState(MOEnum):
     present = auto()
     absent = auto()
 
+    @classmethod
+    def choices(enum):
+        out = []
+        for item in enum:
+            out.append((item.name, part_state_names[item]))
+        return out
+
+
+part_state_names = {
+    PartState.registered: 'registrovaný',
+    PartState.invited: 'pozvaný',
+    PartState.refused: 'odmítnutý',
+    PartState.present: 'přítomný',
+    PartState.absent: 'nepřítomný',
+}
+
+
 
 class Participation(Base):
     __tablename__ = 'participations'
@@ -357,6 +374,14 @@ def get_session() -> Session:
     return _session
 
 
+def get_categories() -> List[str]:
+    return [cat for (cat,) in get_session().query(Round.category).distinct()]
+
+
+def get_seqs() -> List[str]:
+    return [seq for (seq,) in get_session().query(Round.seq).distinct()]
+
+
 def get_place_parents(place: Place) -> List[Place]:
     sess = get_session()
 
-- 
GitLab