@@ -, +, @@ --- C4/Acquisition.pm | 5 ++++- t/db_dependent/Acquisition.t | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) --- a/C4/Acquisition.pm +++ a/C4/Acquisition.pm @@ -1110,6 +1110,8 @@ C<$order> are fields from the biblio, biblioitems, aqorders tables of the Koha d sub GetOrder { my ($ordernumber) = @_; + return unless $ordernumber; + my $dbh = C4::Context->dbh; my $query = qq{SELECT aqorders.*, @@ -1147,7 +1149,8 @@ sub GetOrder { my $sth= $dbh->prepare($query); $sth->execute($ordernumber); my $data = $sth->fetchrow_hashref; - $data->{orderdate} = format_date( $data->{orderdate} ); + return unless $data; + $data->{orderdate} = format_date( $data->{orderdate} ); # FIXME Should be done in the templates $sth->finish; return $data; } --- a/t/db_dependent/Acquisition.t +++ a/t/db_dependent/Acquisition.t @@ -8,7 +8,7 @@ use POSIX qw(strftime); use C4::Bookseller qw( GetBookSellerFromId ); -use Test::More tests => 62; +use Test::More tests => 64; BEGIN { use_ok('C4::Acquisition'); @@ -223,4 +223,9 @@ is($order3->{'quantityreceived'}, 2, 'Order not split up'); is($order3->{'quantity'}, 2, '2 items on order'); is($order3->{'budget_id'}, $budgetid2, 'Budget has changed'); +my $nonexistent_order = GetOrder(); +is( $nonexistent_order, undef, 'GetOrder returns undef if no ordernumber is given' ); +$nonexistent_order = GetOrder( 424242424242 ); +is( $nonexistent_order, undef, 'GetOrder return undef if a nonexistent ordernumber is given' ); + $dbh->rollback; --