diff --git a/cds_ils/config.py b/cds_ils/config.py index 3f38bfc85..e606c2aa6 100644 --- a/cds_ils/config.py +++ b/cds_ils/config.py @@ -46,6 +46,7 @@ backoffice_permission, loan_extend_circulation_permission, patron_owner_permission, + loan_checkout_permission, ) from invenio_app_ils.series.api import SERIES_PID_TYPE from invenio_app_ils.items.api import ITEM_PID_TYPE @@ -406,17 +407,10 @@ def _parse_env_bool(var_name, default=None): ILS_CIRCULATION_RECORDS_REST_ENDPOINTS[CIRCULATION_LOAN_PID_TYPE]["search_serializers"][ "text/csv" ] = "cds_ils.circulation.serializers:csv_v1_search" -ILS_CIRCULATION_RECORDS_REST_ENDPOINTS[CIRCULATION_LOAN_PID_TYPE]["update_permission_factory_imp"] = authenticated_user_permission +ILS_CIRCULATION_RECORDS_REST_ENDPOINTS[CIRCULATION_LOAN_PID_TYPE]["update_permission_factory_imp"] = loan_checkout_permission ############################################################################### # ILS overridden -############################################################################### -ILS_AUTHENTICATED_USER_PERMISSIONS = [ - "circulation-loan-request", - "patron-loans", - "bulk-loan-extension", - "circulation-loan-checkout", -] ILS_VIEWS_PERMISSIONS_FACTORY = views_permissions_factory @@ -585,7 +579,7 @@ def _parse_env_bool(var_name, default=None): dest="ITEM_ON_LOAN", trigger="checkout", transition=ILSToItemOnLoan, - permission_factory=authenticated_user_permission, + permission_factory=loan_checkout_permission, ), ], "PENDING": [ @@ -737,4 +731,4 @@ def _parse_env_bool(var_name, default=None): SECURITY_PASSWORD_SINGLE_HASH = True # Feature Toggles -SELF_CHECKOUT_ENABLED = True +ILS_SELF_CHECKOUT_ENABLED = True diff --git a/cds_ils/patrons/permissions.py b/cds_ils/patrons/permissions.py index 55ab476e7..cb9e8cdaa 100644 --- a/cds_ils/patrons/permissions.py +++ b/cds_ils/patrons/permissions.py @@ -9,7 +9,7 @@ from invenio_access import action_factory from invenio_access.permissions import Permission -from invenio_app_ils.permissions import backoffice_access_action +from invenio_app_ils.permissions import backoffice_access_action, authenticated_user_permission from invenio_app_ils.permissions import ( views_permissions_factory as ils_views_permissions_factory, ) @@ -35,4 +35,6 @@ def views_permissions_factory(action): return retrieve_patron_loans_permission() elif action == "document-importer": return document_importer_permission() + elif action == "circulation-loan-checkout": + return authenticated_user_permission() return ils_views_permissions_factory(action)