From 5b11c25fe76415078d1b48956512c29c0b2030b1 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Tue, 9 Apr 2019 15:59:14 -0300 Subject: [PATCH] Bug 22675: Fix SCO behaviour on non-existent barcodes Bug 21206 replaced GetItem for Koha::Items->find, and introduced this problem. This patch verifies $item is defined before attempting to use its methods. To test: - Log into SCO - Type an invalid barcode => FAIL: Things explode :-/ - Apply this patch, reload - Type an invalid barcode => SUCCESS: A nice error message is displayed :-D - Sign off :-D Signed-off-by: Liz Rea Signed-off-by: Katrin Fischer Signed-off-by: Nick Clemens --- opac/sco/sco-main.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/opac/sco/sco-main.pl b/opac/sco/sco-main.pl index 7fd6ee8e40..a303524630 100755 --- a/opac/sco/sco-main.pl +++ b/opac/sco/sco-main.pl @@ -158,11 +158,12 @@ elsif ( $patron && ( $op eq 'checkout' || $op eq 'renew' ) ) { if (scalar keys %$impossible) { my $issue_error = (keys %$impossible)[0]; # FIXME This is wrong, we assume only one error and keys are not ordered + my $title = ( $item ) ? $item->biblio->title : ''; $template->param( impossible => $issue_error, "circ_error_$issue_error" => 1, - title => $item->biblio->title, # FIXME Need to be backport! GetItem did not return the biblio's title + title => $title, hide_main => 1, ); if ($issue_error eq 'DEBT') { -- 2.39.5