From 4a7365e3cd579496588e46d01047c9d026c7f5fd Mon Sep 17 00:00:00 2001
From: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Date: Mon, 9 Oct 2017 19:17:45 -0300
Subject: [PATCH] Bug 19431: Fix error when checking out an unknown barcode
It seems this has been caused by
commit 1544f9a5d4a8acd47c97d7c6ac55dee8e759d3ff
Bug 18276: Remove GetBiblioFromItemNumber - circulation pages
To reproduce the problem you need switch on the two prefs
- OnSiteCheckouts
- OnSiteCheckoutsForce
Test plan:
Try to check an item out using an unknown barcode
With the 2 prefs set to on and without this patch, you will get the
following error in the log
Can't call method "materials" on an undefined value at /home/vagrant/kohaclone/circ/circulation.pl line 387.
With this patch applied you should not get this error and a correct
behaviour for the different pref combinations.
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
---
circ/circulation.pl | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/circ/circulation.pl b/circ/circulation.pl
index 130d350..b814471 100755
--- a/circ/circulation.pl
+++ b/circ/circulation.pl
@@ -372,7 +372,7 @@ if (@$barcodes) {
}
}
- unless( $onsite_checkout and C4::Context->preference("OnSiteCheckoutsForce") ) {
+ if ( $error->{UNKNOWN_BARCODE} or not $onsite_checkout or not C4::Context->preference("OnSiteCheckoutsForce") ) {
delete $question->{'DEBT'} if ($debt_confirmed);
foreach my $impossible ( keys %$error ) {
$template_params->{$impossible} = $$error{$impossible};
@@ -380,7 +380,8 @@ if (@$barcodes) {
$blocker = 1;
}
}
- if( !$blocker || $force_allow_issue ){
+
+ if( $item and !$blocker or $force_allow_issue ){
my $confirm_required = 0;
unless($issueconfirmed){
# Get the item title for more information
--
2.1.4