From ce49fbab45dccd1d674c093e4fd3e1d35c06d077 Mon Sep 17 00:00:00 2001
From: Hangzhi Yu <hangzhi@protonmail.com>
Date: Tue, 9 Apr 2024 00:54:30 +0200
Subject: [PATCH] Fix predicate

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

diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py
index de57ee133..892d733af 100644
--- a/aleksis/apps/alsijil/util/predicates.py
+++ b/aleksis/apps/alsijil/util/predicates.py
@@ -387,7 +387,16 @@ def is_documentation_teacher(user: User, obj: Documentation):
     Checks whether the person linked to the user is a teacher in the documentation.
     """
     if obj:
-        return user.person in obj.teachers
+        if not str(obj.pk).startswith("DUMMY") and hasattr(obj, "teachers"):
+            teachers = obj.teachers
+        elif obj.lesson_event.amends:
+            if obj.lesson_event.teachers:
+                teachers = obj.lesson_event.teachers
+            else:
+                teachers = obj.lesson_event.amends.teachers
+        else:
+            teachers = obj.lesson_event.teachers
+        return user.person in teachers.all()
     return False
 
 
-- 
GitLab