Bug 23590: Only return patrons that have the suggestions_manage permission

Sponsored-by: BULAC - http://www.bulac.fr/
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
This commit is contained in:
Jonathan Druart 2019-11-06 19:59:21 +01:00 committed by Martin Renvoize
parent d2de3d34de
commit cdcb7474b9
Signed by: martin.renvoize
GPG key ID: 422B469130441A0F
3 changed files with 73 additions and 1 deletions

View file

@ -53,6 +53,10 @@
<div class="hint">Only staff with superlibrarian or acquisitions permissions (or order_manage permission if granular permissions are enabled) are returned in the search results</div>
[% END %]
[% IF patrons_with_suggestion_perm_only %]
<div class="hint">Only staff with superlibrarian or suggestions_manage permissions are returned in the search results</div>
[% END %]
<div class="browse">
Browse by last name:
[% FOREACH letter IN alphabet.split(' ') %]
@ -167,6 +171,11 @@
'name': 'has_permission',
'value': 'acquisition.order_manage',
}
[% ELSIF patrons_with_suggestion_perm_only %]
,{
'name': 'has_permission',
'value': 'acquisition.suggestions_manage',
}
[% END %]
);
$.ajax({

View file

@ -859,7 +859,7 @@
<script type="text/javascript">
function editManagerPopup() {
window.open("/cgi-bin/koha/admin/add_user_search.pl?selection_type=select",
window.open("/cgi-bin/koha/suggestion/add_user_search.pl?selection_type=select",
'PatronPopup',
'width=740,height=450,location=yes,toolbar=no,'
+ 'scrollbars=yes,resize=yes'

63
suggestion/add_user_search.pl Executable file
View file

@ -0,0 +1,63 @@
#!/usr/bin/perl
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use CGI qw ( -utf8 );
use C4::Auth;
use C4::Output;
use C4::Members;
use Koha::Patron::Categories;
my $input = new CGI;
my $dbh = C4::Context->dbh;
my ( $template, $loggedinuser, $cookie, $staff_flags ) = get_template_and_user(
{ template_name => "common/patron_search.tt",
query => $input,
type => "intranet",
authnotrequired => 0,
flagsrequired => { acquisition => 'suggestions_manage' },
}
);
my $q = $input->param('q') || '';
my $op = $input->param('op') || '';
my $selection_type = $input->param('selection_type') || 'add';
my $referer = $input->referer();
# If this script is called by suggestion/suggestion.pl
# the patrons to return should be superlibrarian or have the suggestions_manage flag
my $search_patrons_with_suggestion_perm_only =
( $referer =~ m|suggestion/suggestion.pl| )
? 1 : 0;
my $patron_categories = Koha::Patron::Categories->search_limited;
$template->param(
patrons_with_suggestion_perm_only => $search_patrons_with_suggestion_perm_only,
view => ( $input->request_method() eq "GET" ) ? "show_form" : "show_results",
columns => ['cardnumber', 'name', 'branch', 'category', 'action'],
json_template => 'acqui/tables/members_results.tt',
selection_type => $selection_type,
alphabet => ( C4::Context->preference('alphabet') || join ' ', 'A' .. 'Z' ),
categories => $patron_categories,
aaSorting => 1,
);
output_html_with_http_headers( $input, $cookie, $template->output );