Browse Source

Bug 20446: Fix Edifact quotes processing

Caused by
  commit 04aea91de0
  Bug 15685: (QA follow-up) Address QA issues

->find is called on Koha::Object instead of the set class (Koha::Objects)
and raises the following error:
Can't use string ("Koha::Acquisition::Basket") as a HASH ref while
"strict refs" in use at /usr/share/koha/lib/Koha/Object.pm line 275.

This patch also makes sure $basketno refers to an existing basket in DB

I cannot provide a test plan, I have no idea how this code is used.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
18.05.x
Jonathan Druart 6 years ago
parent
commit
69f71ca2bf
  1. 11
      Koha/EDI.pm

11
Koha/EDI.pm

@ -36,6 +36,7 @@ use Koha::Edifact;
use Log::Log4perl;
use Text::Unidecode;
use Koha::Plugins::Handler;
use Koha::Acquisition::Baskets;
use Koha::Acquisition::Booksellers;
our $VERSION = 1.1;
@ -545,11 +546,11 @@ sub quote_item {
my ( $item, $quote, $basketno ) = @_;
my $schema = Koha::Database->new()->schema();
# create biblio record
my $logger = Log::Log4perl->get_logger();
if ( !$basketno ) {
$logger->error('Skipping order creation no basketno');
my $basket = Koha::Acquisition::Baskets->find( $basketno );
unless ( $basket ) {
$logger->error('Skipping order creation no valid basketno');
return;
}
$logger->trace( 'Checking db for matches with ', $item->item_number_id() );
@ -797,8 +798,6 @@ sub quote_item {
);
}
my $basket = Koha::Acquisition::Basket->find( $basketno );
if ( $basket->effective_create_item eq 'ordering' ) {
my $new_item = {
notforloan => -1,

Loading…
Cancel
Save