From 5a76bf63bf6eaeffd350bb81281da8db82f983fa Mon Sep 17 00:00:00 2001 From: Chloe Zermatten Date: Wed, 25 Feb 2026 09:37:30 +0000 Subject: [PATCH] Bug 10190: Deprecate permission user_permissions rows do not need manual cleanup because the FK on user_permissions(module_bit, code) references permissions(module_bit, code) ON DELETE CASCADE, so deleting from permissions automatically removes per-patron rows. --- installer/data/mysql/atomicupdate/bug_10190.pl | 6 ++++++ koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc | 3 --- koha-tmpl/intranet-tmpl/prog/en/includes/tools-menu.inc | 5 +---- koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt | 2 +- t/Koha/Auth/Permissions.t | 1 - 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/installer/data/mysql/atomicupdate/bug_10190.pl b/installer/data/mysql/atomicupdate/bug_10190.pl index 674909d8c17..cdce92695d6 100755 --- a/installer/data/mysql/atomicupdate/bug_10190.pl +++ b/installer/data/mysql/atomicupdate/bug_10190.pl @@ -13,6 +13,12 @@ return { exit; } + # Remove the tools sub-permission for notice triggers; access is now + # controlled by parameters/manage_circ_rules instead. + # user_permissions rows are cleaned up automatically via ON DELETE CASCADE. + $dbh->do(q|DELETE FROM permissions WHERE code = 'edit_notice_status_triggers'|); + say_success( $out, "Removed deprecated permission 'edit_notice_status_triggers'" ); + # Populate empty overduerules table for missing categories $dbh->do( q| diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc index 535d6da6914..d91ecdf7c9c 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc @@ -401,9 +401,6 @@ [%- CASE 'edit_additional_contents' -%] Write additional contents for the OPAC and staff interfaces (news and HTML customizations) ([% name | html %]) - [%- CASE 'edit_notice_status_triggers' -%] - Set notice/status triggers for overdue items - ([% name | html %]) [%- CASE 'edit_notices' -%] Define notices ([% name | html %]) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/tools-menu.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/tools-menu.inc index 279772d220a..a2bb1ec0a92 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/tools-menu.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/tools-menu.inc @@ -6,7 +6,7 @@ - [% IF ( CAN_user_tools_manage_patron_lists || CAN_user_clubs || CAN_user_tools_moderate_comments || CAN_user_tools_import_patrons || CAN_user_tools_edit_notices || CAN_user_tools_edit_notice_status_triggers || CAN_user_tools_label_creator || CAN_user_tools_delete_anonymize_patrons || CAN_user_tools_edit_patrons || CAN_user_tools_batch_extend_due_dates || CAN_user_tools_batch_modify_holds || CAN_user_tools_moderate_tags || ( CAN_user_tools_batch_upload_patron_images && Koha.Preference('patronimages') ) || CAN_user_tools_rotating_collections ) %] + [% IF ( CAN_user_tools_manage_patron_lists || CAN_user_clubs || CAN_user_tools_moderate_comments || CAN_user_tools_import_patrons || CAN_user_tools_edit_notices || CAN_user_tools_label_creator || CAN_user_tools_delete_anonymize_patrons || CAN_user_tools_edit_patrons || CAN_user_tools_batch_extend_due_dates || CAN_user_tools_batch_modify_holds || CAN_user_tools_moderate_tags || ( CAN_user_tools_batch_upload_patron_images && Koha.Preference('patronimages') ) || CAN_user_tools_rotating_collections ) %]
Patrons and circulation