From 8c8160761d53cd99fd007bd2b8161e487a8b3992 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. Signed-off-by: Michaela Signed-off-by: Nick Clemens Signed-off-by: Pedro Amorim --- 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 674909d8c1..cdce92695d 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 18eff0b712..1d498a04fc 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc @@ -404,9 +404,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 279772d220..a2bb1ec0a9 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
    [% IF ( CAN_user_tools_manage_patron_lists ) %] @@ -24,9 +24,6 @@ [% IF ( CAN_user_tools_edit_notices ) %]
  • Notices and slips
  • [% END %] - [% IF ( CAN_user_tools_edit_notice_status_triggers ) %] -
  • Overdue notice/status triggers
  • - [% END %] [% IF ( CAN_user_tools_label_creator ) %]
  • Patron card creator
  • [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt index 7a7decd2a3..330c882ddf 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tt @@ -29,7 +29,7 @@

    Tools

    - [% 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_reserveforothers_place_holds ) || CAN_user_tools_moderate_tags || CAN_user_tools_rotating_collections || ( CAN_user_tools_batch_upload_patron_images && Koha.Preference('patronimages') ) ) %] + [% 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_reserveforothers_place_holds ) || CAN_user_tools_moderate_tags || CAN_user_tools_rotating_collections || ( CAN_user_tools_batch_upload_patron_images && Koha.Preference('patronimages') ) ) %]

    Patrons and circulation

    [% END %]
    diff --git a/t/Koha/Auth/Permissions.t b/t/Koha/Auth/Permissions.t index 2551fcf8f2..f6a62f73a4 100755 --- a/t/Koha/Auth/Permissions.t +++ b/t/Koha/Auth/Permissions.t @@ -273,7 +273,6 @@ subtest 'superlibrarian tests' => sub { 'CAN_user_tools_delete_anonymize_patrons' => 1, 'CAN_user_tools_edit_additional_contents' => 1, 'CAN_user_tools_edit_calendar' => 1, - 'CAN_user_tools_edit_notice_status_triggers' => 1, 'CAN_user_tools_edit_notices' => 1, 'CAN_user_tools_edit_patrons' => 1, 'CAN_user_tools_edit_quotes' => 1,