Alex Buckley
5e863f93c0
1. Visit Administration > Patrons and circulation > Limit transfer limits 2. Observe collection codes are displayed as tabs on the Limit transfer limits page when the BranchTransferLimitsType syspref = 'Collection code' 3. Switch the BranchTransferLimitsType syspref = 'item type'. Refresh the Limit transfer limits page and observe the tabs have changed to item type codes 4. Apply patchset and restart services 5. Reload the Limit transfer limits page and confirm it displays correctly with the BranchTransferLimitsType = 'collection code' and 'item type' 6. Confirm you can successfully save transfer policies Sponsored-by: Catalyst IT Signed-off-by: Jacob Omara <jacob.omara@ptfs-europe.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
115 lines
3.3 KiB
Perl
Executable file
115 lines
3.3 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# Copyright 2000-2002 Katipo Communications
|
|
# copyright 2010 BibLibre
|
|
#
|
|
# 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 qw( get_template_and_user );
|
|
use C4::Context;
|
|
use C4::Output qw( output_html_with_http_headers );
|
|
use C4::Circulation qw( DeleteBranchTransferLimits CreateBranchTransferLimit IsBranchTransferAllowed );
|
|
|
|
my $input = CGI->new;
|
|
|
|
my ($template, $loggedinuser, $cookie)
|
|
= get_template_and_user({template_name => "admin/branch_transfer_limits.tt",
|
|
query => $input,
|
|
type => "intranet",
|
|
flagsrequired => {parameters => 'manage_transfers'},
|
|
});
|
|
|
|
my $dbh = C4::Context->dbh;
|
|
my $branchcode;
|
|
if((!defined($input->param('branchcode'))) & C4::Context::mybranch() ne '')
|
|
{
|
|
$branchcode = C4::Context::mybranch();
|
|
}
|
|
else
|
|
{
|
|
$branchcode = $input->param('branchcode');
|
|
}
|
|
|
|
# Set the template language for the correct limit type using $limitType
|
|
my $limitType = C4::Context->preference("BranchTransferLimitsType") || "ccode";
|
|
|
|
my @codes;
|
|
my @branchcodes;
|
|
|
|
if ( $limitType eq 'ccode' ) {
|
|
@codes = Koha::AuthorisedValues->search({ category => 'CCODE' })->get_column('authorised_value');
|
|
} elsif ( $limitType eq 'itemtype' ) {
|
|
@codes = Koha::ItemTypes->search->get_column('itemtype');
|
|
}
|
|
|
|
@branchcodes = Koha::Libraries->search->get_column('branchcode');
|
|
## If Form Data Passed, Update the Database
|
|
if ( $input->param('updateLimits') ) {
|
|
DeleteBranchTransferLimits($branchcode);
|
|
|
|
|
|
foreach my $code ( @codes ) {
|
|
foreach my $toBranch ( @branchcodes ) {
|
|
my $isSet = not $input->param( $code . "_" . $toBranch);
|
|
if ( $isSet ) {
|
|
CreateBranchTransferLimit( $toBranch, $branchcode, $code );
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
## Build branchcode loop
|
|
my @branchcode_loop;
|
|
foreach my $branchcode ( @branchcodes ) {
|
|
my %row_data;
|
|
$row_data{ branchcode } = $branchcode;
|
|
push ( @branchcode_loop, \%row_data );
|
|
}
|
|
my $branchcount = scalar(@branchcode_loop);
|
|
|
|
## Build the default data
|
|
my @codes_loop;
|
|
foreach my $code ( @codes ) {
|
|
my @to_branch_loop;
|
|
my %row_data;
|
|
$row_data{ code } = $code;
|
|
$row_data{ to_branch_loop } = \@to_branch_loop;
|
|
foreach my $toBranch ( @branchcodes ) {
|
|
my %row_data;
|
|
my $isChecked = IsBranchTransferAllowed( $toBranch, $branchcode, $code );
|
|
$row_data{ code } = $code;
|
|
$row_data{ toBranch } = $toBranch;
|
|
$row_data{ isChecked } = $isChecked;
|
|
push( @to_branch_loop, \%row_data );
|
|
}
|
|
|
|
push( @codes_loop, \%row_data );
|
|
}
|
|
|
|
|
|
$template->param(
|
|
branchcount => $branchcount,
|
|
codes_loop => \@codes_loop,
|
|
branchcode_loop => \@branchcode_loop,
|
|
branchcode => $branchcode,
|
|
limitType => $limitType,
|
|
);
|
|
|
|
output_html_with_http_headers $input, $cookie, $template->output;
|
|
|