2ee27fb1cc
from circulation dashboard, creates new sysprefs, assigns the sysprefs to the proper tab in sysprefs (Circulation), updatedatabase changes to do the previous, and fixing one redundent limit in the query for build_holds_queue.pl Note: still need to address item-level holds
107 lines
3.1 KiB
Perl
Executable file
107 lines
3.1 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 2 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, write to the Free Software Foundation, Inc., 59 Temple Place,
|
|
# Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
|
|
=head1 view_holdsqueue
|
|
|
|
This script displays items in the tmp_holdsqueue table
|
|
|
|
=cut
|
|
|
|
use strict;
|
|
use CGI;
|
|
use C4::Auth;
|
|
use C4::Output;
|
|
use C4::Biblio;
|
|
use C4::Items;
|
|
use C4::Koha; # GetItemTypes
|
|
use C4::Branch; # GetBranches
|
|
use C4::Dates qw/format_date/;
|
|
|
|
my $query = new CGI;
|
|
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
|
|
{
|
|
template_name => "circ/view_holdsqueue.tmpl",
|
|
query => $query,
|
|
type => "intranet",
|
|
authnotrequired => 0,
|
|
flagsrequired => { circulation => 1 },
|
|
debug => 1,
|
|
}
|
|
);
|
|
|
|
my $params = $query->Vars;
|
|
my $run_report = $params->{'run_report'};
|
|
my $branchlimit = $params->{'branchlimit'};
|
|
my $itemtypeslimit = $params->{'itemtypeslimit'};
|
|
|
|
if ( $run_report ) {
|
|
my $items = GetHoldsQueueItems( $branchlimit,$itemtypeslimit );
|
|
$template->param(
|
|
branch => $branchlimit,
|
|
total => scalar @$items,
|
|
itemsloop => $items,
|
|
run_report => $run_report
|
|
);
|
|
}
|
|
|
|
# getting all branches.
|
|
my $branches = GetBranches;
|
|
my $branch = C4::Context->userenv->{"branchname"};
|
|
my @branchloop;
|
|
foreach my $thisbranch ( keys %$branches ) {
|
|
my $selected = 1 if $thisbranch eq $branch;
|
|
my %row = (
|
|
value => $thisbranch,
|
|
selected => $selected,
|
|
branchname => $branches->{$thisbranch}->{'branchname'},
|
|
);
|
|
push @branchloop, \%row;
|
|
}
|
|
|
|
# getting all itemtypes
|
|
my $itemtypes = &GetItemTypes();
|
|
my @itemtypesloop;
|
|
foreach my $thisitemtype ( sort keys %$itemtypes ) {
|
|
my %row = (
|
|
value => $thisitemtype,
|
|
description => $itemtypes->{$thisitemtype}->{'description'},
|
|
);
|
|
push @itemtypesloop, \%row;
|
|
}
|
|
|
|
$template->param( branchloop => \@branchloop,
|
|
itemtypeloop => \@itemtypesloop,
|
|
);
|
|
|
|
sub GetHoldsQueueItems {
|
|
my ($branchlimit,$itemtypelimit) = @_;
|
|
my $dbh = C4::Context->dbh;
|
|
my $query = "SELECT * FROM tmp_holdsqueue";
|
|
$query.=" WHERE holdingbranch = \"$branchlimit\"" if $branchlimit;
|
|
my $sth = $dbh->prepare($query);
|
|
$sth->execute();
|
|
my $items = [];
|
|
while ( my $row = $sth->fetchrow_hashref ){
|
|
$row->{reservedate} = format_date($row->{reservedate});
|
|
push @$items, $row;
|
|
}
|
|
return $items;
|
|
|
|
}
|
|
# writing the template
|
|
output_html_with_http_headers $query, $cookie, $template->output;
|