From 9d252bb2d5623df5912b85d945c32be15db41b7c Mon Sep 17 00:00:00 2001 From: Hangzhi Yu <hangzhi@protonmail.com> Date: Wed, 11 Dec 2024 10:55:16 +0100 Subject: [PATCH] Fix documentation perm check for amended lessons --- aleksis/apps/alsijil/util/predicates.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py index 0afb92004..41f8dbe02 100644 --- a/aleksis/apps/alsijil/util/predicates.py +++ b/aleksis/apps/alsijil/util/predicates.py @@ -193,6 +193,7 @@ def is_lesson_event_group_owner(user: User, obj: LessonEvent): Checks whether the person linked to the user is a owner of any group (or their respective parent groups) linked to the lesson event, or a owner of any group linked to the course, if the lesson event has one. + Also checks for groups linked to the lesson being amended, if one exists. """ if obj: for g in obj.groups.all(): @@ -201,6 +202,13 @@ def is_lesson_event_group_owner(user: User, obj: LessonEvent): for pg in g.parent_groups.all(): if user.person in pg.owners.all(): return True + if obj.amends: + for g in obj.amends.groups.all(): + if user.person in g.owners.all(): + return True + for pg in g.parent_groups.all(): + if user.person in pg.owners.all(): + return True return False -- GitLab