about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2026-04-22 10:54:57 -0500
committerFrederick Muriuki Muriithi2026-04-22 11:00:15 -0500
commitd1b53468bd4bd45931796b6ceff9dd0fb29f7397 (patch)
treefd2e4943b01aec5f3f061495be9da16d638beb4d
parent20e43c94672f299c457468a7eb3663e51a31f77b (diff)
downloadgn-libs-d1b53468bd4bd45931796b6ceff9dd0fb29f7397.tar.gz
Add check for batch-edit privileges.
-rw-r--r--gn_libs/privileges/resources.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/gn_libs/privileges/resources.py b/gn_libs/privileges/resources.py
index 07cad22..4b66c59 100644
--- a/gn_libs/privileges/resources.py
+++ b/gn_libs/privileges/resources.py
@@ -2,7 +2,7 @@
 import logging
 from functools import partial
 
-from .authspec import privileges_fulfill_specs
+from .authspec import check, privileges_fulfill_specs
 
 
 logger = logging.getLogger(__name__)
@@ -30,6 +30,14 @@ can_edit = partial(
         "  (AND system:resource:view system:resource:edit))"))
 
 
+def can_batch_edit(queried_privileges: tuple[str, ...]) -> bool:
+    """Check whether user has batch-editing privileges."""
+    return check(
+        ("(AND system:data:batch-edit system:system-wide:data:view"
+         "  system:system-wide:data:edit)"),
+        queried_privileges)
+
+
 can_create = partial(
     privileges_fulfill_specs,
     resource_spec=("(OR group:resource:create-resource "