From de1e56054adddba574f5c672dbd830803d372112 Mon Sep 17 00:00:00 2001 From: Hangzhi Yu <hangzhi@protonmail.com> Date: Wed, 10 Jul 2024 12:27:14 +0200 Subject: [PATCH] Add rule for fetching extra marks --- aleksis/apps/alsijil/rules.py | 4 ++++ aleksis/apps/alsijil/schema/extra_marks.py | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/aleksis/apps/alsijil/rules.py b/aleksis/apps/alsijil/rules.py index 5f85fec80..99222b8f5 100644 --- a/aleksis/apps/alsijil/rules.py +++ b/aleksis/apps/alsijil/rules.py @@ -283,6 +283,10 @@ add_perm("alsijil.delete_excusetype_rule", delete_excusetype_predicate) view_extramarks_predicate = has_person & has_global_perm("alsijil.view_extramark") add_perm("alsijil.view_extramarks_rule", view_extramarks_predicate) +# Fetch all extra marks +fetch_extramarks_predicate = has_person +add_perm("alsijil.fetch_extramarks_rule", fetch_extramarks_predicate) + # Add extra mark add_extramark_predicate = view_extramarks_predicate & has_global_perm("alsijil.add_extramark") add_perm("alsijil.add_extramark_rule", add_extramark_predicate) diff --git a/aleksis/apps/alsijil/schema/extra_marks.py b/aleksis/apps/alsijil/schema/extra_marks.py index 4eb9f0fe1..d2b0bcbc3 100644 --- a/aleksis/apps/alsijil/schema/extra_marks.py +++ b/aleksis/apps/alsijil/schema/extra_marks.py @@ -27,8 +27,8 @@ class ExtraMarkType( @classmethod def get_queryset(cls, queryset, info): - if has_person(info.context.user): - return get_objects_for_user(info.context.user, "alsijil.view_extramark", queryset) + if info.context.user.has_perm("alsijil.fetch_extramarks_rule"): + return queryset raise PermissionDenied() -- GitLab