diff --git a/invenio.cfg b/invenio.cfg index bfcbdb8..cc979b2 100644 --- a/invenio.cfg +++ b/invenio.cfg @@ -818,3 +818,15 @@ COMMUNITIES_ALLOW_RESTRICTED = False COMMUNITIES_PERMISSION_POLICY = InvenioRDMStarterCommunityPermissionPolicy """InvenioRDMStarter community permission policy.""" + + +# Custom roles +from invenio_access import Permission +from invenio_access.permissions import RoleNeed, any_user + + +def uploader_permission_factory(record=None): + return Permission(any_user(RoleNeed("admin"), RoleNeed("uploader"))) + + +RDM_RECORDS_PERMISSIONS_FACTORY = uploader_permission_factory