From 961ea376180a1cc29d66509eb04735a9b6617526 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Sun, 10 Mar 2024 17:57:06 +0100 Subject: [PATCH] Add some rules --- aleksis/apps/kolego/rules.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/aleksis/apps/kolego/rules.py b/aleksis/apps/kolego/rules.py index 8708383..40b6d52 100644 --- a/aleksis/apps/kolego/rules.py +++ b/aleksis/apps/kolego/rules.py @@ -1,11 +1,24 @@ import rules +from aleksis.apps.kolego.models.absence import Absence, AbsenceReason from aleksis.core.util.predicates import ( + has_any_object, has_global_perm, has_object_perm, has_person, ) +view_absences_predicate = has_person & ( + has_global_perm("kolego.view_absence") | has_any_object("kolego.view_absence", Absence) +) +rules.add_perm("kolego.view_absences_rule", view_absences_predicate) + +view_absence_predicate = has_person & ( + has_global_perm("kolego.view_absence") | has_object_perm("kolego.view_absence") +) +rules.add_perm("kolego.view_absence_rule", view_absence_predicate) + + edit_absence_predicate = has_person & ( has_global_perm("kolego.change_absence") | has_object_perm("kolego.change_absence") ) @@ -16,6 +29,17 @@ delete_absence_predicate = has_person & ( ) rules.add_perm("kolego.delete_absence_rule", delete_absence_predicate) +view_absencereasons_predicate = has_person & ( + has_global_perm("kolego.view_absencereason") + | has_any_object("kolego.view_absencereason", AbsenceReason) +) +rules.add_perm("kolego.view_absencereasons_rule", view_absencereasons_predicate) + +view_absencereason_predicate = has_person & ( + has_global_perm("kolego.view_absencereason") | has_object_perm("kolego.view_absencereason") +) +rules.add_perm("kolego.view_absencereason_rule", view_absencereason_predicate) + edit_absencereason_predicate = has_person & ( has_global_perm("kolego.change_absencereason") | has_object_perm("kolego.change_absencereason") ) -- GitLab