From d0f0bc8d34f8e16868f015471450fc543c5c51d2 Mon Sep 17 00:00:00 2001 From: Colin Campbell Date: Mon, 1 Apr 2019 12:16:51 +0100 Subject: [PATCH] Bug 22611: Correction for call to get create_item in EDI.pm There was a typo in the addition of a call to effective_create_items causing processing to abort after adding a single copy. This patch reverts to using the C4::Context call as used for the first copy created, the intended call to effective_create_items is a wrapper around that as the field in the basket is guaranteed to be null (its not set when we call AddBasket). Being consistent and explicit in what we call should guard against future changes in dependencies exposing the logic flaw Added some comments to make logical flow of code clearer --- Koha/EDI.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Koha/EDI.pm b/Koha/EDI.pm index 0e632c9294..4e730de286 100644 --- a/Koha/EDI.pm +++ b/Koha/EDI.pm @@ -558,6 +558,8 @@ sub quote_item { my $schema = Koha::Database->new()->schema(); my $logger = Log::Log4perl->get_logger(); + # $basketno is the return from AddBasket in the calling routine + # So this call should not fail unless that has my $basket = Koha::Acquisition::Baskets->find( $basketno ); unless ( $basket ) { $logger->error('Skipping order creation no valid basketno'); @@ -810,7 +812,9 @@ sub quote_item { ); } - if ( $basket->effective_create_item eq 'ordering' ) { + # Do not use the basket level value as it is always NULL + # See calling subs call to AddBasket + if ( C4::Context->preference('AcqCreateItem') eq 'ordering' ) { my $new_item = { notforloan => -1, cn_sort => q{}, -- 2.20.1