From d5de6b1358d1122325bebb61e6d94582b26d9690 Mon Sep 17 00:00:00 2001 From: Tom Teichler <tom.teichler@teckids.org> Date: Wed, 23 Sep 2020 20:20:48 +0100 Subject: [PATCH] Add rules --- aleksis/apps/ticdesk/predicates.py | 7 +++++++ aleksis/apps/ticdesk/rules.py | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/aleksis/apps/ticdesk/predicates.py b/aleksis/apps/ticdesk/predicates.py index e061aba..a837e64 100644 --- a/aleksis/apps/ticdesk/predicates.py +++ b/aleksis/apps/ticdesk/predicates.py @@ -31,3 +31,10 @@ def is_own_voucher(user: User, voucher: Voucher) -> bool: """Predicate which checks if the voucher belongs to the user.""" return voucher.person == user.person + + +@predicate +def is_own_registration(user: User, registration: Registration) -> bool: + """Predicate which checks if the registration belongs to the user."""" + + return registration.person == user.person diff --git a/aleksis/apps/ticdesk/rules.py b/aleksis/apps/ticdesk/rules.py index a06ca6d..7a7bc50 100644 --- a/aleksis/apps/ticdesk/rules.py +++ b/aleksis/apps/ticdesk/rules.py @@ -11,11 +11,10 @@ from aleksis.core.util.predicates import ( from .models import EventRegistration, FeedbackAspect, TeckidsMember, TeckidsEvent, Voucher from .predicates import ( - is_own_pgp_key, - is_own_ssh_key, is_own_voucher, see_group_by_grouptype, see_owned_groups_members, + is_own_registration, ) # View vouchers @@ -91,6 +90,7 @@ add_perm("ticdesk.view_registrations", view_registrations_predicate) # Manage registrations manage_registrations_predicate = has_person & ( has_global_perm("ticdesk.manage_registrations") + | is_own_registration | has_any_object("ticdesk.manage_registrations", EventRegistration) ) add_perm("ticdesk.manage_registrations", manage_registrations_predicate) -- GitLab