From 869407b5e49d736797bdd20a79c58a5d93acfc96 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Mon, 30 Oct 2023 13:00:01 +0000 Subject: [PATCH] Bug 19097: Adjust some GetMarcFromKohaField calls Content-Type: text/plain; charset=utf-8 We need to: [1] Remove obsolete framework parameters if any (yes there are). [2] Check scalar context calls if any (most probably not). Ad 1: How to find them? Git grep and look at each hit. You will need the -C parameter to add a few context lines around the call even. Found one in C4/Biblio.pm and six in Suggestions.t with ''. Found one in C4/Items on a second line. Similar one in Koha/EDI. Note: sub receipt_items in EDI has no unit tests yet. Also did a few git searches like: git grep GetMarcFromKohaField | grep -v -P "GetMarcFromKohaField.*;"| grep -P "GetMarcFromKohaField\s*\(" Note: Seeing still three lines; they are all fine. Last line comes from testing to trigger the warn. Ad 2: Have been looking at each git grep line and did not spot any scalar context call. Before this report, we had an example in POD and the Biblio test only. Try to find them by performing smarter git searches? Did look again at results for: git grep GetMarcFromKohaField | grep -v -P "\)\s*=\s*&?(C4::Biblio::)?GetMarcFromKohaField" | grep -v -P "use " The tests from this grep are included in the last test plan line. Test plan: Read the patch. Run t/db_dependent/Biblio/TransformHtmlToMarc.t Run t/db_dependent/Items.t Run t/db_dependent/Suggestions.t Run prove t/Biblio2.t t/db_dependent/Biblio.t t/db_dependent/Filter_MARC_ViewPolicy.t t/db_dependent/Koha/Authorities.t t/db_dependent/Koha/Biblio/Metadata.t t/db_dependent/Koha/Filter/EmbedItemsAvailability.t t/db_dependent/Koha/SearchEngine/Search.t t/db_dependent/XISBN.t Signed-off-by: Marcel de Rooy --- C4/Biblio.pm | 3 +-- C4/Items.pm | 4 +--- Koha/EDI.pm | 3 +-- t/db_dependent/Suggestions.t | 12 ++++++------ 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index 98149117bf..050d509034 100644 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -2214,8 +2214,7 @@ sub TransformHtmlToMarc { my $record = MARC::Record->new(); my @fields; my ($biblionumbertagfield, $biblionumbertagsubfield) = (-1, -1); - ($biblionumbertagfield, $biblionumbertagsubfield) = - &GetMarcFromKohaField( "biblio.biblionumber", '' ) if $isbiblio; + ( $biblionumbertagfield, $biblionumbertagsubfield ) = &GetMarcFromKohaField("biblio.biblionumber") if $isbiblio; #FIXME This code assumes that the CGI params will be in the same order as the fields in the template; this is no absolute guarantee! for (my $i = 0; $params[$i]; $i++ ) { # browse all CGI params my $param = $params[$i]; diff --git a/C4/Items.pm b/C4/Items.pm index c640b63baa..d3cbac88e4 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -778,9 +778,7 @@ sub Item2Marc { }; my $framework = C4::Biblio::GetFrameworkCode( $biblionumber ); my $itemmarc = C4::Biblio::TransformKohaToMarc( $mungeditem, { framework => $framework } ); - my ( $itemtag, $itemsubfield ) = C4::Biblio::GetMarcFromKohaField( - "items.itemnumber", $framework, - ); + my ( $itemtag, $itemsubfield ) = C4::Biblio::GetMarcFromKohaField('items.itemnumber'); my $unlinked_item_subfields = _parse_unlinked_item_subfields_from_xml($mungeditem->{'items.more_subfields_xml'}); if (defined $unlinked_item_subfields and $#$unlinked_item_subfields > -1) { diff --git a/Koha/EDI.pm b/Koha/EDI.pm index ceb9a2ccd4..7dce34f0e1 100644 --- a/Koha/EDI.pm +++ b/Koha/EDI.pm @@ -476,8 +476,7 @@ sub receipt_items { my $order = Koha::Acquisition::Orders->find($ordernumber); $biblionumber = $order->biblionumber; my $frameworkcode = GetFrameworkCode($biblionumber); - ($itemfield) = GetMarcFromKohaField( 'items.itemnumber', - $frameworkcode ); + ($itemfield) = GetMarcFromKohaField('items.itemnumber'); } } diff --git a/t/db_dependent/Suggestions.t b/t/db_dependent/Suggestions.t index 5a6f7a2bbe..8aa26185c6 100755 --- a/t/db_dependent/Suggestions.t +++ b/t/db_dependent/Suggestions.t @@ -378,11 +378,11 @@ my $record = MarcRecordFromNewSuggestion($suggestion2); is("MARC::Record", ref($record), "MarcRecordFromNewSuggestion should return a MARC::Record object"); -my ($title_tag, $title_subfield) = C4::Biblio::GetMarcFromKohaField('biblio.title', ''); +my ($title_tag, $title_subfield) = C4::Biblio::GetMarcFromKohaField('biblio.title'); is($record->field( $title_tag )->subfield( $title_subfield ), "Cuisine d'automne", "Record from suggestion title should be 'Cuisine d'automne'"); -my ($author_tag, $author_subfield) = C4::Biblio::GetMarcFromKohaField('biblio.author', ''); +my ($author_tag, $author_subfield) = C4::Biblio::GetMarcFromKohaField('biblio.author'); is($record->field( $author_tag )->subfield( $author_subfield ), "Catherine", "Record from suggestion author should be 'Catherine'"); @@ -601,16 +601,16 @@ subtest 'Suggestion with ISBN' => sub { my $record = MarcRecordFromNewSuggestion( $suggestion_with_isbn ); is("MARC::Record", ref($record), "MarcRecordFromNewSuggestion should return a MARC::Record object"); - my ($isbn_tag, $isbn_subfield) = C4::Biblio::GetMarcFromKohaField('biblioitems.isbn', ''); + my ($isbn_tag, $isbn_subfield) = C4::Biblio::GetMarcFromKohaField('biblioitems.isbn'); is($record->field( $isbn_tag )->subfield( $isbn_subfield ), "1940997232", "ISBN Record from suggestion ISBN should be '1940997232'"); - my ($issn_tag, $issn_subfield) = C4::Biblio::GetMarcFromKohaField('biblioitems.issn', ''); + my ($issn_tag, $issn_subfield) = C4::Biblio::GetMarcFromKohaField('biblioitems.issn'); is($record->field( $issn_tag )->subfield( $issn_subfield ), "1940997232", "ISSN Record from suggestion ISBN should also be '1940997232'"); - my ($title_tag, $title_subfield) = C4::Biblio::GetMarcFromKohaField('biblio.title', ''); + my ($title_tag, $title_subfield) = C4::Biblio::GetMarcFromKohaField('biblio.title'); is($record->field( $title_tag), undef, "Record from suggestion title should be empty"); - my ($author_tag, $author_subfield) = C4::Biblio::GetMarcFromKohaField('biblio.author', ''); + my ($author_tag, $author_subfield) = C4::Biblio::GetMarcFromKohaField('biblio.author'); is($record->field( $author_tag), undef, "Record from suggestion author should be empty"); }; -- 2.30.2