From 32ad8b40c910fd6877c1681e1894a6dd4ecee62f Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Thu, 20 Aug 2020 16:50:42 +0200 Subject: [PATCH] Fix view_week_personalnote --- aleksis/apps/alsijil/rules.py | 2 ++ aleksis/apps/alsijil/util/predicates.py | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/aleksis/apps/alsijil/rules.py b/aleksis/apps/alsijil/rules.py index 73d8879cf..08f185992 100644 --- a/aleksis/apps/alsijil/rules.py +++ b/aleksis/apps/alsijil/rules.py @@ -21,6 +21,7 @@ from .util.predicates import ( is_person_group_owner, is_personal_note_lesson_parent_group_owner, is_personal_note_lesson_teacher, + is_teacher, ) # View lesson @@ -99,6 +100,7 @@ view_week_personal_notes_predicate = has_person & ( has_global_perm("alsijil.view_personalnote") | has_object_perm("core.view_personalnote_group") | is_group_owner + | (is_current_person & is_teacher) ) add_perm("alsijil.view_week_personalnote", view_week_personal_notes_predicate) diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py index 3e62d17a2..f7f05ba22 100644 --- a/aleksis/apps/alsijil/util/predicates.py +++ b/aleksis/apps/alsijil/util/predicates.py @@ -208,3 +208,9 @@ def has_any_object_absence(user: User) -> bool: member_of__in=get_objects_for_user(user, "core.register_absence_group", Group) ).exists(): return True + + +@predicate +def is_teacher(user: User, obj: Person) -> bool: + """Predicate which checks if the provided object is a teacher.""" + return user.person.is_teacher() -- GitLab