Jonathan Druart
7dad38e88f
The C4::Koha::GetAuthvalueDropbox subroutine does the same job as Koha::AuthorisedValues->search We should then replace the different calls to this subroutine to finally remove it. There were 2 calls to this subroutine: - from the AuthorisedValues TT plugin (called from av-build-dropbox.inc and members/housebound.tt) - from the acqui/ajax-getauthvaluedropbox.pl ajax script To make sure that this patchset does not introduce regressions, we will have to test that the TT plugin and the ajax script still behave as before. Test plan: 1/ Test acqui/ajax-getauthvaluedropbox.pl - Link a fund to an authorised value category - Create a new order => When you select a fund linked to AV category, the sort1 (and/or sort2, depending on what you set) should be replaced with a dropdown list populated with the authorised values 2/ Test av-build-dropbox.inc - Create some authorised values for Bsort1 - Edit a patron => The sort1 should be a dropdown list populated with the Bsort1 AV 3/ Test members/housebound.tt - Enable the housebound module (pref HouseboundModule) - On the patron detail page, click on the "Housebound" tab => The frequency dropdown list should be populated with the different HSBND_FREQ AV Signed-off-by: Josef Moravec <josef.moravec@gmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
94 lines
2.4 KiB
Perl
Executable file
94 lines
2.4 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# This file is part of Koha.
|
|
#
|
|
# Copyright 2012 BibLibre
|
|
#
|
|
# 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>.
|
|
|
|
=head1 NAME
|
|
|
|
ajax-getauthvaluedropbox.pl - returns an authorised values dropbox
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
this script returns an authorised values dropbox
|
|
|
|
=head1 CGI PARAMETERS
|
|
|
|
=over 4
|
|
|
|
=item name
|
|
|
|
The name of the dropbox.
|
|
|
|
=item category
|
|
|
|
The category of authorised values.
|
|
|
|
=item default
|
|
|
|
Default value for the dropbox.
|
|
|
|
=back
|
|
|
|
=cut
|
|
|
|
use Modern::Perl;
|
|
|
|
use CGI qw ( -utf8 );
|
|
use C4::Charset;
|
|
use C4::Auth qw/check_api_auth/;
|
|
use Koha::AuthorisedValues;
|
|
|
|
my $query = CGI->new();
|
|
binmode STDOUT, ':encoding(UTF-8)';
|
|
|
|
my ($status, $cookie, $sessionID) = check_api_auth($query, { catalogue => '*'} );
|
|
unless ($status eq "ok") {
|
|
print $query->header(-type => 'text/plain', -status => '403 Forbidden');
|
|
print '<option></option>';
|
|
exit 0;
|
|
}
|
|
|
|
my $input = new CGI;
|
|
my $name = $input->param('name');
|
|
my $category = $input->param('category');
|
|
my $default = $input->param('default');
|
|
$default = C4::Charset::NormalizeString($default);
|
|
my $branch_limit = C4::Context->userenv ? C4::Context->userenv->{"branch"} : "";
|
|
|
|
my $avs = Koha::AuthorisedValues->search(
|
|
{
|
|
branchcode => $branch_limit,
|
|
category => $category,
|
|
},
|
|
{
|
|
group_by => 'lib',
|
|
order_by => [ 'category', 'lib', 'lib_opac' ],
|
|
}
|
|
);
|
|
my $html = qq|<select id="$name" name="$name">|;
|
|
while ( my $av = $avs->next ) {
|
|
if ( $av->authorised_value eq $default ) {
|
|
$html .= q|<option value="| . $av->authorised_value . q|" selected="selected">| . $av->lib . q|</option>|;
|
|
} else {
|
|
$html .= q|<option value="| . $av->authorised_value . q|">| . $av->lib . q|</option>|;
|
|
}
|
|
}
|
|
$html .= qq|</select>|;
|
|
|
|
binmode STDOUT, ':encoding(UTF-8)';
|
|
print $input->header(-type => 'text/plain', -charset => 'UTF-8');
|
|
print $html;
|