From fec1f22590fc09bdac38b6d7e92f9d30cb70b70e Mon Sep 17 00:00:00 2001 From: Fridolyn SOMERS Date: Wed, 27 Feb 2013 15:02:49 +0100 Subject: [PATCH 1/2] Bug 9720 : uninitialized value warnings in circulation This patch corrects several uninitialized value errors. Test plan: - Go to check out page - Check that issues and old issues are in different tables - Check that author is diplayed if exists - Check that patron address is displayed if exists - Perform a checkout --- circ/circulation.pl | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/circ/circulation.pl b/circ/circulation.pl index bdf0362..43510b1 100755 --- a/circ/circulation.pl +++ b/circ/circulation.pl @@ -134,6 +134,7 @@ my $organisation = $query->param('organisations'); my $print = $query->param('print') || q{}; my $newexpiry = $query->param('dateexpiry'); my $debt_confirmed = $query->param('debt_confirmed') || 0; # Don't show the debt error dialog twice +my $charges = $query->param('charges') || q{}; # Check if stickyduedate is turned off if ( $barcode ) { @@ -167,7 +168,7 @@ if ( $barcode eq '' && $print eq 'maybe' ) { } my $inprocess = ($barcode eq '') ? '' : $query->param('inprocess'); -if ( $barcode eq '' && $query->param('charges') eq 'yes' ) { +if ( $barcode eq '' && $charges eq 'yes' ) { $template->param( PAYCHARGES => 'yes', borrowernumber => $borrowernumber @@ -364,7 +365,7 @@ if ($borrowernumber) { $getreserv{suspend} = $num_res->{'suspend'}; $getreserv{suspend_until} = $num_res->{'suspend_until'}; # check if we have a waiting status for reservations - if ( $num_res->{'found'} eq 'W' ) { + if ( $num_res->{'found'} && $num_res->{'found'} eq 'W' ) { $getreserv{color} = 'reserved'; $getreserv{waiting} = 1; # genarate information displaying only waiting reserves @@ -455,18 +456,19 @@ sub build_issue_data { $it->{'checkoutdate'} = C4::Dates->new($it->{'issuedate'},'iso')->output('syspref'); $it->{'issuingbranchname'} = GetBranchName($it->{'branchcode'}); - $totalprice += $it->{'replacementprice'}; + $totalprice += $it->{'replacementprice'} || 0; $it->{'itemtype'} = $itemtypeinfo->{'description'}; $it->{'itemtype_image'} = $itemtypeinfo->{'imageurl'}; $it->{'dd'} = output_pref($it->{'date_due'}); $it->{'displaydate'} = output_pref($it->{'issuedate'}); #$it->{'od'} = ( $it->{'date_due'} lt $todaysdate ) ? 1 : 0 ; $it->{'od'} = $it->{'overdue'}; - ($it->{'author'} eq '') and $it->{'author'} = ' '; + $it->{'author'} ||= ' '; $it->{'renew_failed'} = $renew_failed{$it->{'itemnumber'}}; $it->{'return_failed'} = $return_failed{$it->{'barcode'}}; - if ( $it->{'issuedate'}."" gt $todaysdate or $it->{'lastreneweddate'} gt $todaysdate ) { + if ( ( $it->{'issuedate'} && $it->{'issuedate'} gt $todaysdate ) + || ( $it->{'lastreneweddate'} && $it->{'lastreneweddate'} gt $todaysdate ) ) { (!$relatives) ? push @todaysissues, $it : push @relissues, $it; } else { (!$relatives) ? push @previousissues, $it : push @relprevissues, $it; @@ -641,8 +643,10 @@ my $bor_messages_loop = GetMessages( $borrowernumber, 'B', $branch ); if($bor_messages_loop){ $template->param(flagged => 1 ); } # Computes full borrower address -my (undef, $roadttype_hashref) = &GetRoadTypes(); -my $address = $borrower->{'streetnumber'}.' '.$roadttype_hashref->{$borrower->{'streettype'}}.' '.$borrower->{'address'}; +my @fulladdress; +push @fulladdress, $borrower->{'streetnumber'} if ( $borrower->{'streetnumber'} ); +push @fulladdress, &GetRoadTypeDetails( $borrower->{'streettype'} ) if ( $borrower->{'streettype'} ); +push @fulladdress, $borrower->{'address'} if ( $borrower->{'address'} ); my $fast_cataloging = 0; if (defined getframeworkinfo('FA')) { @@ -676,7 +680,7 @@ $template->param( expiry => format_date($borrower->{'dateexpiry'}), categorycode => $borrower->{'categorycode'}, categoryname => $borrower->{description}, - address => $address, + address => join(' ', @fulladdress), address2 => $borrower->{'address2'}, email => $borrower->{'email'}, emailpro => $borrower->{'emailpro'}, -- 1.7.10.4