about summary refs log tree commit diff
path: root/gn_libs
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2026-08-20 09:18:43 -0500
committerFrederick Muriuki Muriithi2026-08-20 09:18:43 -0500
commit7fceaa61ddc2e42a4772d7979e6ff570e12091f1 (patch)
treef01300b0e2907533b41d1c9b0f564d8f75ebc513 /gn_libs
parent22fe4293947499628f87f36561c96a3b3b070166 (diff)
downloadgn-libs-7fceaa61ddc2e42a4772d7979e6ff570e12091f1.tar.gz
New check: Can create a resource-specific role.
Diffstat (limited to 'gn_libs')
-rw-r--r--gn_libs/privileges/resources.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/gn_libs/privileges/resources.py b/gn_libs/privileges/resources.py
index 217a57d..2634357 100644
--- a/gn_libs/privileges/resources.py
+++ b/gn_libs/privileges/resources.py
@@ -27,6 +27,14 @@ can_edit = partial(
         "(OR "
         "  (AND system:system-wide:data:view system:system-wide:data:edit))"))
 
+can_create_resource_role = partial(
+    privileges_fulfill_specs,
+    resource_spec=(
+        "(AND group:resource:view-resource resource:role:create-role)"),
+    system_spec=(
+        "(OR "
+        "  (AND system:system-wide:data:view system:system-wide:resource:role:create))"))
+
 
 def can_batch_edit(queried_privileges: tuple[str, ...]) -> bool:
     """Check whether user has batch-editing privileges."""