diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py index f7f05ba2268182eb1989aa5c51fe8fe48c17d2c3..ca8af7f67d88cf1cce20ff6661996e58ed359ecc 100644 --- a/aleksis/apps/alsijil/util/predicates.py +++ b/aleksis/apps/alsijil/util/predicates.py @@ -171,9 +171,14 @@ def is_personal_note_lesson_teacher(user: User, obj: PersonalNote) -> bool: """ if hasattr(obj, "lesson_period"): if hasattr(obj.lesson_period, "lesson"): - return user.person in obj.lesson_period.lesson.teachers.all() or user.person in Person.objects.filter( + sub = obj.lesson_period.get_substitution() + if sub and user.person in Person.objects.filter( lesson_substitutions=obj.lesson_period.get_substitution() - ) + ): + return True + + return user.person in obj.lesson_period.lesson.teachers.all() + return False return False