diff --git a/installer/data/mysql/atomicupdate/Bug_35830_add_merge_borrowers_permission.pl b/installer/data/mysql/atomicupdate/Bug_35830_add_merge_borrowers_permission.pl
new file mode 100755
index 0000000000..776cdb9005
--- /dev/null
+++ b/installer/data/mysql/atomicupdate/Bug_35830_add_merge_borrowers_permission.pl
@@ -0,0 +1,24 @@
+use Modern::Perl;
+use Koha::Installer::Output qw(say_warning say_success say_info);
+
+return {
+ bug_number => "35830",
+ description => "Add permission borrowers:merge_borrowers",
+ up => sub {
+ my ($args) = @_;
+ my ( $dbh, $out ) = @$args{qw(dbh out)};
+
+ $dbh->do(
+ q{INSERT IGNORE INTO permissions (module_bit, code, description)
+ VALUES (4, 'merge_borrowers', 'Merge patrons')}
+ );
+
+ say $out "Added new permission 'merge_borrowers'";
+
+ $dbh->do(
+ q{INSERT INTO user_permissions (borrowernumber, module_bit, code) SELECT borrowernumber, module_bit, 'merge_borrowers' FROM user_permissions where module_bit = 4 and code = 'edit_borrowers';}
+ );
+
+ say $out "Added 'merge_borrowers' permission to existing users with 'edit_borrowers'";
+ },
+};
diff --git a/installer/data/mysql/mandatory/userpermissions.sql b/installer/data/mysql/mandatory/userpermissions.sql
index 1d8b7d034f..fd5d0ee616 100644
--- a/installer/data/mysql/mandatory/userpermissions.sql
+++ b/installer/data/mysql/mandatory/userpermissions.sql
@@ -47,6 +47,7 @@ INSERT INTO permissions (module_bit, code, description) VALUES
( 4, 'delete_borrowers', 'Delete patrons'),
( 4, 'edit_borrowers', 'Add, modify and view patron information'),
( 4, 'list_borrowers', 'Search, list and view patrons'),
+ ( 4, 'merge_borrowers', 'Merge patrons'),
( 4, 'send_messages_to_borrowers', 'Send messages to patrons'),
( 4, 'view_borrower_infos_from_any_libraries', 'View patron infos from any libraries'),
( 6, 'place_holds', 'Place holds for patrons'),
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc
index 8e1244c5b9..c43ad0c072 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc
@@ -307,6 +307,9 @@
Delete patrons
([% name | html %])
+ [%- CASE 'merge_borrowers' -%]
+ Merge patrons
+ ([% name | html %])
[%- CASE 'edit_borrowers' -%]
Add, modify and view patron information
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tt
index f64a0f3785..d3db144ed6 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tt
@@ -87,7 +87,7 @@
[% END %]
- [% IF CAN_user_borrowers_edit_borrowers %]
+ [% IF CAN_user_borrowers_merge_borrowers %]
diff --git a/members/merge-patrons.pl b/members/merge-patrons.pl
index 5ceea2a9cb..923f381018 100755
--- a/members/merge-patrons.pl
+++ b/members/merge-patrons.pl
@@ -33,7 +33,7 @@ my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
template_name => "members/merge-patrons.tt",
query => $cgi,
type => "intranet",
- flagsrequired => { borrowers => 'edit_borrowers' },
+ flagsrequired => { borrowers => 'merge_borrowers' },
}
);
diff --git a/t/Koha/Auth/Permissions.t b/t/Koha/Auth/Permissions.t
index 4b398646f3..9e1c07dd80 100755
--- a/t/Koha/Auth/Permissions.t
+++ b/t/Koha/Auth/Permissions.t
@@ -126,6 +126,7 @@ subtest 'superlibrarian tests' => sub {
'CAN_user_acquisition' => 1,
'CAN_user_borrowers_send_messages_to_borrowers' => 1,
'CAN_user_borrowers_delete_borrowers' => 1,
+ 'CAN_user_borrowers_merge_borrowers' => 1,
'CAN_user_borrowers_edit_borrowers' => 1,
'CAN_user_borrowers_list_borrowers' => 1,
'CAN_user_borrowers_view_borrower_infos_from_any_libraries' => 1,