@@ -, +, @@ --- api/v1/swagger/paths/patrons.yaml | 1 + .../bug_29509_add-new-list-borrowers-permission.pl | 14 ++++++++++++++ installer/data/mysql/mandatory/userflags.sql | 1 + .../intranet-tmpl/prog/en/includes/permissions.inc | 3 +++ .../intranet-tmpl/prog/en/modules/intranet-main.tt | 2 +- members/member.pl | 2 +- members/members-home.pl | 2 +- members/moremember.pl | 2 +- 8 files changed, 23 insertions(+), 4 deletions(-) create mode 100755 installer/data/mysql/atomicupdate/bug_29509_add-new-list-borrowers-permission.pl --- a/api/v1/swagger/paths/patrons.yaml +++ a/api/v1/swagger/paths/patrons.yaml @@ -397,6 +397,7 @@ - tools: "label_creator" - serials: "routing" - acquisition: "order_manage" + - list_borrowers: 1 post: x-mojo-to: Patrons#add operationId: addPatron --- a/installer/data/mysql/atomicupdate/bug_29509_add-new-list-borrowers-permission.pl +++ a/installer/data/mysql/atomicupdate/bug_29509_add-new-list-borrowers-permission.pl @@ -0,0 +1,14 @@ +use Modern::Perl; + +return { + bug_number => "BUG_29509", + description => "Add new list_borrowers permission", + up => sub { + my ($args) = @_; + my ( $dbh, $out ) = @$args{qw(dbh out)}; + + $dbh->do("INSERT IGNORE INTO userflags (bit, flag, flagdesc, defaulton) VALUES (31, 'list_borrowers', 'Search and list patrons', 0)"); + + say $out "Added new permission 'list_borrowers'"; + }, +}; --- a/installer/data/mysql/mandatory/userflags.sql +++ a/installer/data/mysql/mandatory/userflags.sql @@ -28,4 +28,5 @@ INSERT INTO userflags (bit, flag, flagdesc, defaulton) VALUES (28, 'erm', 'Manage electronic resources', 0), (29, 'loggedinlibrary', 'Change logged in library', 0), (30, 'preservation', 'Preservation module', 0) +(31, 'list_borrowers', 'Search and list patrons',0), ; --- a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/permissions.inc @@ -87,6 +87,9 @@ [%- CASE 'preservation' -%] Manage the preservation module ([% name | html %]) + [%- CASE 'list_borrowers' -%] + Search and list patrons + ([% name | html %]) [%- END -%] [%- END -%] --- a/koha-tmpl/intranet-tmpl/prog/en/modules/intranet-main.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/intranet-main.tt @@ -64,7 +64,7 @@ [% END %] - [% IF CAN_user_borrowers_edit_borrowers %] + [% IF (CAN_user_borrowers_edit_borrowers) || (CAN_user_list_borrowers) %]
  • Patrons
  • --- a/members/member.pl +++ a/members/member.pl @@ -37,7 +37,7 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user({template_name => "members/member.tt", query => $input, type => "intranet", - flagsrequired => {borrowers => 'edit_borrowers'}, + flagsrequired => [borrowers => 'edit_borrowers', list_borrowers => 1], }); my $theme = $input->param('theme') || "default"; --- a/members/members-home.pl +++ a/members/members-home.pl @@ -35,7 +35,7 @@ my ($template, $loggedinuser, $cookie, $flags) = get_template_and_user({template_name => "members/member.tt", query => $query, type => "intranet", - flagsrequired => {borrowers => 'edit_borrowers'}, + flagsrequired => [borrowers => 'edit_borrowers', list_borrowers => 1], }); my $no_add = 0; --- a/members/moremember.pl +++ a/members/moremember.pl @@ -62,7 +62,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( template_name => $template_name, query => $input, type => "intranet", - flagsrequired => { borrowers => 'edit_borrowers' }, + flagsrequired => [ borrowers => 'edit_borrowers', list_borrowers => 1 ], } ); my $borrowernumber = $input->param('borrowernumber'); --