Koha/circ/view_holdsqueue.pl
Nick Clemens 2a6af1a6bd Bug 29015: Add options for itemtype, collection, and shelving location to view_holdsqueue.pl
This patch makes the code for itemtypeslimit work, and adds options for shelving location and collection code

This also remove the 'post' method from the form to allow easy bookmarking

To test:
1 - Add holds to your system
2 - Run the holds queue builder
3 - Browse to Circulation->Holds queue
4 - Note the library dropdown
5 - Apply patch
6 - Reload and note new options
7 - Test that both limits and 'All' options work as expected
8 - Note that description at top includes options when selected
    "### items found for All libraries and item type:(Books)"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-11-03 15:40:52 +01:00

75 lines
2.4 KiB
Perl
Executable file

#!/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>.
=head1 view_holdsqueue
This script displays items in the tmp_holdsqueue table
=cut
use Modern::Perl;
use CGI qw ( -utf8 );
use C4::Auth qw( get_template_and_user );
use C4::Output qw( output_html_with_http_headers );
use C4::HoldsQueue qw( GetHoldsQueueItems );
use Koha::BiblioFrameworks;
use Koha::ItemTypes;
my $query = CGI->new;
my ( $template, $loggedinuser, $cookie, $flags ) = get_template_and_user(
{
template_name => "circ/view_holdsqueue.tt",
query => $query,
type => "intranet",
flagsrequired => { circulate => "circulate_remaining_permissions" },
}
);
my $params = $query->Vars;
my $run_report = $params->{'run_report'};
my $branchlimit = $params->{'branchlimit'};
my $itemtypeslimit = $params->{'itemtypeslimit'};
my $ccodeslimit = $params->{'ccodeslimit'};
my $locationslimit = $params->{'locationslimit'};
if ( $run_report ) {
my $items = GetHoldsQueueItems({
branchlimit => $branchlimit,
itemtypeslimit => $itemtypeslimit,
ccodeslimit => $ccodeslimit,
locationslimit => $locationslimit
});
for my $item ( @$items ) {
$item->{patron} = Koha::Patrons->find( $item->{borrowernumber} );
}
$template->param(
branchlimit => $branchlimit,
itemtypeslimit => $itemtypeslimit,
ccodeslimit => $ccodeslimit,
locationslimit => $locationslimit,
total => scalar @$items,
itemsloop => $items,
run_report => $run_report,
);
}
# Checking if there is a Fast Cataloging Framework
$template->param( fast_cataloging => 1 ) if Koha::BiblioFrameworks->find( 'FA' );
# writing the template
output_html_with_http_headers $query, $cookie, $template->output;