22#
33# Copyright (C) 2020 CERN.
44# Copyright (C) 2020 Northwestern University.
5+ # Copyright (C) 2022 TU Wien.
56#
67# Invenio-Drafts-Resources is free software; you can redistribute it and/or
78# modify it under the terms of the MIT License; see LICENSE file for more
89# details.
910
1011"""Drafts permissions."""
1112
12- from invenio_records_permissions .generators import AnyUser
13+ from invenio_records_permissions .generators import AnyUser , DisableIfReadOnly
1314from invenio_records_permissions .policies .records import (
1415 RecordPermissionPolicy as RecordPermissionPolicyBase ,
1516)
@@ -21,10 +22,10 @@ class RecordPermissionPolicy(RecordPermissionPolicyBase):
2122 # FIXME: Revist this along the development
2223 # Default create should be "authenticated"?
2324 # TODO: Subclass records-resources policy and add *_draft actions
24- can_create = [AnyUser ()]
25- can_new_version = [AnyUser ()]
26- can_edit = [AnyUser ()]
27- can_publish = [AnyUser ()]
25+ can_create = [AnyUser (), DisableIfReadOnly () ]
26+ can_new_version = [AnyUser (), DisableIfReadOnly () ]
27+ can_edit = [AnyUser (), DisableIfReadOnly () ]
28+ can_publish = [AnyUser (), DisableIfReadOnly () ]
2829 can_read_draft = [AnyUser ()]
29- can_update_draft = [AnyUser ()]
30- can_delete_draft = [AnyUser ()]
30+ can_update_draft = [AnyUser (), DisableIfReadOnly () ]
31+ can_delete_draft = [AnyUser (), DisableIfReadOnly () ]
0 commit comments