use C4::Branch; # GetBranches get_branchinfos_of
use CGI;
use List::MoreUtils qw/uniq/;
-use Date::Calc qw/Today Date_to_Days/;
+use Date::Calc qw/Date_to_Days/;
use C4::Output;
use C4::Auth;
use C4::Reserves;
use C4::Biblio;
+use C4::Items;
use C4::Koha;
use C4::Circulation;
use C4::Dates qw/format_date/;
my $cardnumber = $input->param('cardnumber');
my $borrowerslist;
my $messageborrower;
+my $warnings;
+my $messages;
-my $date = sprintf( '%04d-%02d-%02d', Today() );
+my $date = C4::Dates->today('iso');
if ($findborrower) {
my ( $count, $borrowers ) =
GetReserveCount( $borrowerinfo->{'borrowernumber'} );
if ( $number_reserves > C4::Context->preference('maxreserves') ) {
+ $warnings = 1;
$maxreserves = 1;
}
if ($borrowerinfo->{'dateexpiry'} ne '0000-00-00') {
my $warning = (Date_to_Days(split /-/,$date) > Date_to_Days( split /-/,$borrowerinfo->{'dateexpiry'}));
if ( $warning > 0 ) {
+ $messages = 1;
$expiry = 1;
}
} else {
+ $messages = 1;
$expiry = 1;
}
# check if the borrower make the reserv in a different branch
if ( $borrowerinfo->{'branchcode'} ne C4::Context->userenv->{'branch'} ) {
+ $messages = 1;
$diffbranch = 1;
}
borrowerreservs => $count_reserv,
maxreserves => $maxreserves,
expiry => $expiry,
- diffbranch => $diffbranch
+ diffbranch => $diffbranch,
+ messages => $messages,
+ warnings => $warnings
);
}
}
if ( $borrowerinfo->{borrowernumber} eq $res->{borrowernumber} ) {
+ $warnings = 1;
$alreadyreserved = 1;
}
}
-$template->param( alreadyreserved => $alreadyreserved );
+$template->param( alreadyreserved => $alreadyreserved,
+ messages => $messages,
+ warnings => $warnings );
# FIXME think @optionloop, is maybe obsolete, or must be switchable by a systeme preference fixed rank or not
# make priorities options
my @branchcodes;
my %itemnumbers_of_biblioitem;
-my @itemnumbers = @{ get_itemnumbers_of($biblionumber)->{$biblionumber} };
+my @itemnumbers;
+
+if (my $items = get_itemnumbers_of($biblionumber)->{$biblionumber}){
+ @itemnumbers = @$items;
+}
+else {
+ $template->param('noitems' => 1);
+}
+
my $iteminfos_of = GetItemInfosOf(@itemnumbers);
foreach my $itemnumber (@itemnumbers) {
}
# FIXME: move this to a pm
- my $sth2 = $dbh->prepare("SELECT * FROM reserves WHERE borrowernumber=? AND itemnumber=? AND found='W' AND cancellationdate IS NULL");
+ my $sth2 = $dbh->prepare("SELECT * FROM reserves WHERE borrowernumber=? AND itemnumber=? AND found='W'");
$sth2->execute($item->{ReservedForBorrowernumber},$item->{itemnumber});
while (my $wait_hashref = $sth2->fetchrow_hashref) {
$item->{waitingdate} = format_date($wait_hashref->{waitingdate});
my @values;
my %label_of;
-foreach my $branchcode ( keys %{$branches} ) {
+foreach my $branchcode (sort keys %{$branches} ) {
push @values, $branchcode;
$label_of{$branchcode} = $branches->{$branchcode}->{branchname};
}
cardnumber => $cardnumber,
CGIselectborrower => $CGIselectborrower,
title => $dat->{title},
- author => $dat->{author}
+ author => $dat->{author},
+ holdsview => 1,
+ borrower_branchname => $branches->{$borrowerinfo->{'branchcode'}}->{'branchname'},
+ borrower_branchcode => $borrowerinfo->{'branchcode'},
);
# printout the page