Skip to content

Commit c3d3ad0

Browse files
mesemusmax-moser
andauthored
Extra documentation on the SameAs class
Co-authored-by: Max <maximilian.moser@tuwien.ac.at>
1 parent 80e6d3b commit c3d3ad0

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

invenio_records_permissions/generators.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,16 @@ class RecordPermissionPolicy(BasePermissionPolicy):
428428
same permissions as ``can_edit``. If you later modify ``can_edit`` or override
429429
it in a subclass, the delegating permissions automatically inherit those changes.
430430
431+
By virtue of operator overloading, ``SameAs`` can also be used outside of lists
432+
to simplify permission policies:
433+
434+
.. code-block:: python
435+
436+
class RecordPermissionPolicy(BasePermissionPolicy):
437+
can_manage = [RecordOwners(), SystemProcess()]
438+
can_curate = SameAs("can_manage") + [AccessGrant("edit")]
439+
can_delete = SameAs("can_curate")
440+
431441
Note:
432442
The permission name must be an attribute on the policy instance and must
433443
contain a list of generators.

0 commit comments

Comments
 (0)