From ce204abc29105a2a9b76395e5669373e7737ea8e Mon Sep 17 00:00:00 2001 From: Janusz Kaczmarek Date: Tue, 14 Mar 2023 22:30:31 +0100 Subject: [PATCH] Bug 33231 (Bug 30813 follow-up) No publication date in Z39.50 biblio search results After executing Z39.50 search, the result table is not populated with publication dates. This is the result of code refactoring made by Bug 30813. The removed function _add_rowdata treated in special way the publication date putting it in $row in under special, non MARC variant dependent key 'date'--since the z3950_search.tt looks under breeding_loo.date. Test plan: ========= 1. Have a Koha instance with some Z39.50 servers defined. 2. In Cataloging, perform a Z39.50 search for any term. 3. In the result table you would not get the publication dates. 4. Apply the patch. 5. Repeat the search. 6. You should see the publication dates (according to the current mapping, i.e. for MARC 21 coming from 260 $c or 264 $c subfield). --- C4/Breeding.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/C4/Breeding.pm b/C4/Breeding.pm index 7b3dbc5874..a5a21bdf84 100644 --- a/C4/Breeding.pm +++ b/C4/Breeding.pm @@ -307,8 +307,10 @@ sub _handle_one_result { my $row; if( $breedingid ){ my @kohafields = ('biblio.title','biblio.author','biblioitems.isbn','biblioitems.lccn','biblioitems.editionstatement'); - push @kohafields, C4::Context->preference('marcflavour') eq "MARC21" ? 'biblio.copyrightdate' : 'biblioitems.publicationyear'; + my $date_label = C4::Context->preference('marcflavour') eq "MARC21" ? 'biblio.copyrightdate' : 'biblioitems.publicationyear'; + push @kohafields, $date_label; $row = C4::Biblio::TransformMarcToKoha({ record => $marcrecord, kohafields => \@kohafields, limit_table => 'no_items' }); + $row->{date} = $row->{ substr( $date_label, index( $date_label, '.' ) + 1 ) }; $row->{biblionumber} = $bib; $row->{server} = $servhref->{servername}; $row->{breedingid} = $breedingid; -- 2.30.2