diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py index de57ee133d4e4ba5bd8b4c3c39bf5fcabdaa3f60..892d733af2f36b8c2018f70ee592919052ab8d36 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