From 46259cb0902074c2ab6c1cbabad700ca542aada3 Mon Sep 17 00:00:00 2001
From: Hangzhi Yu <hangzhi@protonmail.com>
Date: Sun, 16 Aug 2020 14:14:20 +0200
Subject: [PATCH] Fix is_lesson_teacher predicate

---
 aleksis/apps/alsijil/util/predicates.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py
index 4c9f369fc..6540aeb5d 100644
--- a/aleksis/apps/alsijil/util/predicates.py
+++ b/aleksis/apps/alsijil/util/predicates.py
@@ -20,7 +20,12 @@ def is_lesson_teacher(user: User, obj: LessonPeriod) -> bool:
     Checks whether the person linked to the user is a teacher
     in the lesson or the substitution linked to the given LessonPeriod.
     """
-    return user.person in Person.objects.filter(lesson_substitutions=obj.get_substitution())
+    if obj:
+        return (
+            user.person in obj.lesson.teachers.all()
+            or user.person in Person.objects.filter(lesson_substitutions=obj.get_substitution())
+        )
+    return True
 
 
 @predicate
-- 
GitLab