@@ -, +, @@ --------- 1) Log into staff client 2) Koha administration 3) Global system preferences 4) Circulation 5) Make sure WaitingNotifyAtCheckin is set to Notify. 6) Check out tab 7) Type patron's name and click 'Submit' 8) Select patron if required 9) Check out an item, but set the due date to be overdue. $ cat ~/koha-dev/var/log/koha-error_log NOTE: only the warnings from lines 269 and 540 in returns.pl are the ones to note. warnings related to lines 269 or 540 from returns.pl. --- circ/circulation.pl | 2 +- circ/returns.pl | 23 +++++++++++++++-------- 2 files changed, 16 insertions(+), 9 deletions(-) --- a/circ/circulation.pl +++ a/circ/circulation.pl @@ -482,7 +482,7 @@ sub build_issue_data { ($it->{'charge'}, $it->{'itemtype_charge'}) = GetIssuingCharges( $it->{'itemnumber'}, $it->{'borrowernumber'} ); - $it->{'charge'} = sprintf("%.2f", $it->{'charge'}); + $it->{'charge'} = sprintf("%.2f", $it->{'charge'}) if defined $it->{'charge'}; my ($can_renew, $can_renew_error) = CanBookBeRenewed( $it->{'borrowernumber'},$it->{'itemnumber'} ); --- a/circ/returns.pl +++ a/circ/returns.pl @@ -49,7 +49,8 @@ use Koha::Calendar; my $query = new CGI; -if (!C4::Context->userenv){ +my $userenv = C4::Context->userenv; +if (!$userenv){ my $sessionID = $query->cookie("CGISESSID"); my $session = get_session($sessionID); if ($session->param('branch') eq 'NO_LIBRARY_SET'){ @@ -74,11 +75,10 @@ my ( $template, $librarian, $cookie ) = get_template_and_user( #Global vars my $branches = GetBranches(); my $printers = GetPrinters(); +my $userenv_branch = $userenv->{'branch'} // ''; +my $printer = $userenv->{'branchprinter'} // ''; -my $printer = C4::Context->userenv ? C4::Context->userenv->{'branchprinter'} : ""; my $overduecharges = (C4::Context->preference('finesMode') && C4::Context->preference('finesMode') ne 'off'); - -my $userenv_branch = C4::Context->userenv->{'branch'} || ''; # # Some code to handle the error if there is no branch or printer setting..... # @@ -266,7 +266,7 @@ if ($barcode) { if ( C4::Context->preference("FineNotifyAtCheckin") ) { my ( $od, $issue, $fines ) = GetMemberIssuesAndFines( $borrower->{'borrowernumber'} ); - if ($fines > 0) { + if ($fines && $fines > 0) { $template->param( fines => sprintf("%.2f",$fines) ); $template->param( fineborrowernumber => $borrower->{'borrowernumber'} ); } @@ -536,11 +536,18 @@ foreach ( sort { $a <=> $b } keys %returneditems ) { } push @riloop, \%ri; } +my ($genbrname, $genprname); +if (my $b = $branches->{$userenv_branch}) { + $genbrname = $b->{'branchname'}; +} +if (my $p = $printers->{$printer}) { + $genprname = $p->{'printername'}; +} $template->param( riloop => \@riloop, - genbrname => $branches->{$userenv_branch}->{'branchname'}, - genprname => $printers->{$printer}->{'printername'}, - branchname => $branches->{$userenv_branch}->{'branchname'}, + genbrname => $genbrname, + genprname => $genprname, + branchname => $genbrname, printer => $printer, errmsgloop => \@errmsgloop, exemptfine => $exemptfine, --