From ece1d1414308d86b146b54221e309b284500e18f Mon Sep 17 00:00:00 2001 From: Emmi Takkinen Date: Fri, 5 Dec 2025 11:12:13 +0200 Subject: [PATCH 2/3] Bug 35953: Rename delete_any_record as delete_bibliographic_records Rename new permission for deleting bibliographic records as delete_any_record. Also rename atomicupdate file and update it to follow current skeleton.pl file example. To test: 1. Apply this patch. 2. Run updatedatabase.pl. => Confirm this new permission was added to Koha. 3. Follow test plan from previous patch. => Confirm everything works as described. Sponsored by: Koha-Suomi Oy --- .../data/mysql/atomicupdate/bug_35953.pl | 19 +++++++++++++++++++ ...53_-_add_delete_any_record_permission.perl | 6 ------ .../data/mysql/mandatory/userpermissions.sql | 2 +- .../prog/en/includes/cat-toolbar.inc | 6 +++--- .../prog/en/includes/permissions.inc | 5 +++-- 5 files changed, 26 insertions(+), 12 deletions(-) create mode 100755 installer/data/mysql/atomicupdate/bug_35953.pl delete mode 100644 installer/data/mysql/atomicupdate/bug_35953_-_add_delete_any_record_permission.perl diff --git a/installer/data/mysql/atomicupdate/bug_35953.pl b/installer/data/mysql/atomicupdate/bug_35953.pl new file mode 100755 index 0000000000..535d7cc600 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_35953.pl @@ -0,0 +1,19 @@ +use Modern::Perl; +use Koha::Installer::Output qw(say_warning say_success say_info); + +return { + bug_number => "35953", + description => "Add new permission delete_bibliographic_records", + up => sub { + my ($args) = @_; + my ( $dbh, $out ) = @$args{qw(dbh out)}; + + $dbh->do( + q{INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (9, 'delete_bibliographic_records', 'Delete bibliographic records from catalogue')} + ); + + say $out "Added new permission delete_bibliographic_records"; + + say $out "Add new permission delete_bibliographic_records for patrons"; + }, +}; diff --git a/installer/data/mysql/atomicupdate/bug_35953_-_add_delete_any_record_permission.perl b/installer/data/mysql/atomicupdate/bug_35953_-_add_delete_any_record_permission.perl deleted file mode 100644 index 6ce64928b4..0000000000 --- a/installer/data/mysql/atomicupdate/bug_35953_-_add_delete_any_record_permission.perl +++ /dev/null @@ -1,6 +0,0 @@ -$DBversion = 'XXX'; -if( CheckVersion( $DBversion ) ) { - $dbh->do(q{INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (9, 'delete_any_record', 'Delete any existing record')}); - - NewVersion( $DBversion, undef, "Add delete_any_record user permission" ); -} diff --git a/installer/data/mysql/mandatory/userpermissions.sql b/installer/data/mysql/mandatory/userpermissions.sql index 47483081df..a94cfb51c2 100644 --- a/installer/data/mysql/mandatory/userpermissions.sql +++ b/installer/data/mysql/mandatory/userpermissions.sql @@ -65,7 +65,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES ( 9, 'delete_all_items', 'Delete all items at once'), ( 9, 'manage_item_groups', 'Create, update and delete item groups, add or remove items from a item groups'), ( 9, 'manage_item_editor_templates', 'Update and delete item editor template owned by others'), - ( 9, 'delete_any_record', 'Delete any existing record'), + ( 9, 'delete_catalogue', 'Delete any existing record'), ( 9, 'edit_any_item', 'Edit any item regardless of home library'), ( 9, 'edit_locked_records', 'Edit locked records'), ( 9, 'set_record_sources', 'Set record source'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc index 3bb87c2c6c..c36b8f6e33 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc @@ -128,7 +128,7 @@ [% IF CAN_user_editcatalogue_edit_catalogue or ( frameworkcode == 'FA' and CAN_user_editcatalogue_fast_cataloging ) %] [% IF ( count ) %] - [% IF CAN_user_editcatalogue_delete_any_record %] + [% IF CAN_user_editcatalogue_delete_bibliographic_records %]
  • [% END %] [% ELSIF ( biblio.subscriptions.count ) %] - [% IF CAN_user_editcatalogue_delete_any_record %] + [% IF CAN_user_editcatalogue_delete_bibliographic_records %] [%- SET subscriptions_count = biblio.subscriptions.count -%]
  • [% END %] [% ELSE %] - [% IF CAN_user_editcatalogue_delete_any_record %] + [% IF CAN_user_editcatalogue_delete_bibliographic_records %]
  • [% INCLUDE 'csrf-token.inc' %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc index 65a598b856..fce42d0ca2 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc @@ -293,8 +293,9 @@ [%- CASE 'fast_cataloging' -%] Fast cataloging ([% name | html %]) - [%- CASE 'delete_any_record' -%] - Delete any existing record + [%- CASE 'delete_bibliographic_records' -%] + Delete bibliographic records from catalogue + ([% name | html %]) [%- CASE 'manage_item_groups' -%] Create, update and delete item groups, add or remove items from an item group ([% name | html %]) -- 2.34.1