use C4::Biblio;
use C4::Items;
use C4::Output;
-use C4::Dates qw/format_date/;
use C4::Context;
use C4::Members;
use C4::Branch; # GetBranches
use C4::Overdues;
use C4::Debug;
use Koha::DateUtils;
-use Koha::Borrower::Debarments qw(IsDebarred);
+use Koha::Libraries;
+use Koha::Patron::Debarments qw(IsDebarred);
use Date::Calc qw/Today Date_to_Days/;
-# use Data::Dumper;
my $maxreserves = C4::Context->preference("maxreserves");
&get_out($query, $cookie, $template->output);
}
+ my $failed_holds = 0;
while (@selectedItems) {
my $biblioNum = shift(@selectedItems);
my $itemNum = shift(@selectedItems);
my $canreserve = 0;
- my $singleBranchMode = C4::Context->preference("singleBranchMode");
+ my $singleBranchMode = Koha::Libraries->search->count == 1;
if ( $singleBranchMode || !$OPACChooseBranch )
{ # single branch mode or disabled user choosing
$branch = $borr->{'branchcode'};
# Here we actually do the reserveration. Stage 3.
if ($canreserve) {
- AddReserve(
+ my $reserve_id = AddReserve(
$branch, $borrowernumber,
$biblioNum,
[$biblioNum], $rank,
$notes, $biblioData->{title},
$itemNum, $found
);
+ $failed_holds++ unless $reserve_id;
++$reserve_cnt;
}
}
- print $query->redirect("/cgi-bin/koha/opac-user.pl#opac-user-holds");
+ print $query->redirect("/cgi-bin/koha/opac-user.pl?" . ( $failed_holds ? "failed_holds=$failed_holds" : q|| ) . "#opac-user-holds");
exit;
}
$noreserves = 1;
$template->param( too_much_oweing => $amount );
}
+
if ( $borr->{gonenoaddress} && ($borr->{gonenoaddress} == 1) ) {
$noreserves = 1;
$template->param(
GNA => 1
);
}
+
if ( $borr->{lost} && ($borr->{lost} == 1) ) {
$noreserves = 1;
$template->param(
lost => 1
);
}
+
if ( IsDebarred($borrowernumber) ) {
$noreserves = 1;
$template->param(
- message => 1,
- debarred => 1
+ message => 1,
+ debarred => 1,
+ debarred_comment => $borr->{debarredcomment},
+ debarred_date => $borr->{debarred},
);
}
$biblioLoopIter{mandatorynotes}=0; #FIXME: For future use
if (!$itemLevelTypes && $biblioData->{itemtype}) {
- $biblioLoopIter{description} = $itemTypes->{$biblioData->{itemtype}}{description};
+ $biblioLoopIter{translated_description} = $itemTypes->{$biblioData->{itemtype}}{translated_description};
$biblioLoopIter{imageurl} = getitemtypeimagesrc() . "/". $itemTypes->{$biblioData->{itemtype}}{imageurl};
}
foreach my $itemInfo (@{$biblioData->{itemInfos}}) {
if ($itemLevelTypes && $itemInfo->{itype}) {
- $itemInfo->{description} = $itemTypes->{$itemInfo->{itype}}{description};
+ $itemInfo->{translated_description} = $itemTypes->{$itemInfo->{itype}}{translated_description};
$itemInfo->{imageurl} = getitemtypeimagesrc() . "/". $itemTypes->{$itemInfo->{itype}}{imageurl};
}
$itemLoopIter->{enumchron} = $itemInfo->{enumchron};
$itemLoopIter->{copynumber} = $itemInfo->{copynumber};
if ($itemLevelTypes) {
- $itemLoopIter->{description} = $itemInfo->{description};
+ $itemLoopIter->{translated_description} = $itemInfo->{translated_description};
$itemLoopIter->{imageurl} = $itemInfo->{imageurl};
}
if ( defined $reservedate ) {
$itemLoopIter->{backgroundcolor} = 'reserved';
- $itemLoopIter->{reservedate} = format_date($reservedate);
+ $itemLoopIter->{reservedate} = output_pref({ dt => dt_from_string($reservedate), dateonly => 1 });
$itemLoopIter->{ReservedForBorrowernumber} = $reservedfor;
$itemLoopIter->{ReservedForSurname} = $ItemBorrowerReserveInfo->{'surname'};
$itemLoopIter->{ReservedForFirstname} = $ItemBorrowerReserveInfo->{'firstname'};
my ( $transfertwhen, $transfertfrom, $transfertto ) =
GetTransfers($itemNum);
if ( $transfertwhen && ($transfertwhen ne '') ) {
- $itemLoopIter->{transfertwhen} = format_date($transfertwhen);
+ $itemLoopIter->{transfertwhen} = output_pref({ dt => dt_from_string($transfertwhen), dateonly => 1 });
$itemLoopIter->{transfertfrom} =
$branches->{$transfertfrom}{branchname};
$itemLoopIter->{transfertto} = $branches->{$transfertto}{branchname};