about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2026-08-27 09:40:00 -0500
committerFrederick Muriuki Muriithi2026-08-27 09:42:58 -0500
commit75f70a195b8141bc5258f6531eeea4d4224c0147 (patch)
tree960ade95cd6baf26b5aab6c5a75853f15be70360
parent8e09455211cf45cb6676407b747834b206284b32 (diff)
downloadgn-libs-75f70a195b8141bc5258f6531eeea4d4224c0147.tar.gz
Check whether a user is allowed to assign privileges. HEAD main
-rw-r--r--gn_libs/privileges/resources.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/gn_libs/privileges/resources.py b/gn_libs/privileges/resources.py
index d2131e9..a605ea4 100644
--- a/gn_libs/privileges/resources.py
+++ b/gn_libs/privileges/resources.py
@@ -78,3 +78,9 @@ can_apply_or_reject_edit = partial(
         "     system:system-wide:inbredset:edit-case-attribute "
         "     system:system-wide:inbredset:apply-case-attribute-edit "
         "     system:system-wide:inbredset:reject-case-attribute-edit)"))
+
+
+def can_assign_role(resource_privileges: tuple[str, ...]) -> bool:
+    """Check whether the current user is allowed to assign roles to other users
+    on given resource."""
+    return check("(AND resource:user:assign-role)", resource_privileges)