From 4a1a3b3f7d390fc78baa89b411f37eac3ae6c730 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 14 Oct 2021 11:30:21 +0000 Subject: [PATCH] Bug 29243: Correct call when adding items from staged records To test: 1 - Populate system preference NewItemsDefaultLocation 2 - Stage a file of marc records 3 - Create an acquisitions basket with 'AcqCreateItems' set to 'ordering' 4 - Attempt to add to basket from your staged file 5 - You get a 500 error, and in the logs: Can't use string ("") as a HASH ref while "strict refs" in use at /usr/share/koha/lib/C4/Items.pm line 1605. 6 - Apply patch 7 - Repeat #4 8 - Success! Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Martin Renvoize Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall --- C4/Items.pm | 4 +++- acqui/addorderiso2709.pl | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/C4/Items.pm b/C4/Items.pm index 004631af23..62bb0c4686 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -1578,10 +1578,12 @@ sub _find_value { =head2 PrepareItemrecordDisplay - PrepareItemrecordDisplay($itemrecord,$bibnum,$itemumber,$frameworkcode); + PrepareItemrecordDisplay($bibnum,$itemumber,$defaultvalues,$frameworkcode); Returns a hash with all the fields for Display a given item data in a template +$defaultvalues should either contain a hashref of values for the new item, or be undefined. + The $frameworkcode returns the item for the given frameworkcode, ONLY if bibnum is not provided =cut diff --git a/acqui/addorderiso2709.pl b/acqui/addorderiso2709.pl index 0e3df3ba04..eb414150c1 100755 --- a/acqui/addorderiso2709.pl +++ b/acqui/addorderiso2709.pl @@ -105,11 +105,11 @@ if ($op eq ""){ import_biblios_list($template, $cgiparams->{'import_batch_id'}); if ( $basket->effective_create_items eq 'ordering' && !$basket->is_standing ) { # prepare empty item form - my $cell = PrepareItemrecordDisplay( '', '', '', 'ACQ' ); + my $cell = PrepareItemrecordDisplay( '', '', undef, 'ACQ' ); # warn "==> ".Data::Dumper::Dumper($cell); unless ($cell) { - $cell = PrepareItemrecordDisplay( '', '', '', '' ); + $cell = PrepareItemrecordDisplay( '', '', undef, '' ); $template->param( 'NoACQframework' => 1 ); } my @itemloop;