From ce6b1373d2f75380f7e09a6d52fada2532de057f Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Fri, 13 Sep 2019 10:21:37 +0200
Subject: [PATCH] Provide list of teacher names for substituted lessons.

Advances BiscuIT-App-Alsijil#27.
---
 biscuit/apps/chronos/models.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/biscuit/apps/chronos/models.py b/biscuit/apps/chronos/models.py
index 744ba215..bd8bb513 100644
--- a/biscuit/apps/chronos/models.py
+++ b/biscuit/apps/chronos/models.py
@@ -157,7 +157,7 @@ class LessonPeriod(SchoolRelated):
         return None
 
     def get_subject(self) -> Optional[Subject]:
-        if self.get_substitution():
+        if self.get_substitution() and self.get_substitution().subject:
             return self.get_substitution().subject
         else:
             return self.lesson.subject
@@ -169,11 +169,14 @@ class LessonPeriod(SchoolRelated):
             return self.lesson.teachers
 
     def get_room(self) -> Optional[Room]:
-        if self.get_substitution():
+        if self.get_substitution() and self.get_substitution().room:
             return self.get_substitution().room
         else:
             return self.room
 
+    def get_teacher_names(self, sep: Optional[str] = ', ') -> str:
+        return sep.join([teacher.full_name for teacher in self.get_teachers().all()])
+
     def get_groups(self) -> models.query.QuerySet:
         return self.lesson.groups
 
-- 
GitLab