From 0215736bccd621a55ad3ee57ef8fabb4b83005c2 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 9 Nov 2012 18:34:40 +0100 Subject: [PATCH 1/2] Bug 9046: FIX wrong test on an arrayref instead of an array EmbedItemsInMarcBiblio does not embed items when the itemnumbers param is given. That breaks the export tools (used from commandline). Signed-off-by: Chris Cormack Signed-off-by: Jared Camins-Esakov --- C4/Biblio.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index eb213d5071..478bd55572 100644 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -2851,7 +2851,7 @@ sub EmbedItemsInMarcBiblio { my @item_fields; my ( $itemtag, $itemsubfield ) = GetMarcFromKohaField( "items.itemnumber", $frameworkcode ); while (my ($itemnumber) = $sth->fetchrow_array) { - next if $itemnumbers and not grep { $_ == $itemnumber } @$itemnumbers; + next if @$itemnumbers and not grep { $_ == $itemnumber } @$itemnumbers; require C4::Items; my $item_marc = C4::Items::GetMarcItem($biblionumber, $itemnumber); push @item_fields, $item_marc->field($itemtag); From ff61e9f16fc26e3299adf8d724f50e31c478c365 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Mon, 12 Nov 2012 10:18:30 +0100 Subject: [PATCH 2/2] Bug 9046: Followup FIX perl v5.10 raises an error if itemnumbers if undefined If the itemnumbers parameter is undef, perl raises an error : "Can't use an undefined value as an ARRAY reference" Signed-off-by: Mason James Signed-off-by: Jared Camins-Esakov --- C4/Biblio.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index 478bd55572..832da69ede 100644 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -2841,6 +2841,8 @@ sub EmbedItemsInMarcBiblio { my ($marc, $biblionumber, $itemnumbers) = @_; croak "No MARC record" unless $marc; + $itemnumbers = [] unless defined $itemnumbers; + my $frameworkcode = GetFrameworkCode($biblionumber); _strip_item_fields($marc, $frameworkcode);