Bugzilla – Attachment 169079 Details for
Bug 37305
Remove C4::Biblio::prepare_marc_host and use Koha::Biblio->generate_marc_host_field in preference
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 37305: Remove C4::Biblio::prepare_host_field
Bug-37305-Remove-C4Bibliopreparehostfield.patch (text/plain), 5.54 KB, created by
Martin Renvoize (ashimema)
on 2024-07-17 10:07:36 UTC
(
hide
)
Description:
Bug 37305: Remove C4::Biblio::prepare_host_field
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2024-07-17 10:07:36 UTC
Size:
5.54 KB
patch
obsolete
>From 70be5215ffa388192e2d8f35b0629d3a8d8934cd Mon Sep 17 00:00:00 2001 >From: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Date: Wed, 17 Jul 2024 11:04:47 +0100 >Subject: [PATCH] Bug 37305: Remove C4::Biblio::prepare_host_field > >This patch updates the only use of prepare_host_field to use the well >tested Koha::Biblio->generate_marc_host_field method instead and then >removes the aforementioned prepare_host_field method from C4::Biblio. > >Test plan >1) Ensure the "enhanced workflow" for creating analytics still functions > as expected. >--- > C4/Biblio.pm | 129 --------------------------------------- > cataloguing/addbiblio.pl | 4 +- > 2 files changed, 2 insertions(+), 131 deletions(-) > >diff --git a/C4/Biblio.pm b/C4/Biblio.pm >index 4b32ad43d52..246cd14f8b9 100644 >--- a/C4/Biblio.pm >+++ b/C4/Biblio.pm >@@ -62,7 +62,6 @@ BEGIN { > TransformMarcToKoha > TransformHtmlToMarc > TransformHtmlToXml >- prepare_host_field > ); > > # Internal functions >@@ -2935,134 +2934,6 @@ sub ModBiblioMarc { > return $biblionumber; > } > >-=head2 prepare_host_field >- >-$marcfield = prepare_host_field( $hostbiblioitem, $marcflavour ); >-Generate the host item entry for an analytic child entry >- >-=cut >- >-sub prepare_host_field { >- my ( $hostbiblio, $marcflavour ) = @_; >- $marcflavour ||= C4::Context->preference('marcflavour'); >- >- my $biblio = Koha::Biblios->find($hostbiblio); >- my $host = $biblio->metadata->record; >- # unfortunately as_string does not 'do the right thing' >- # if field returns undef >- my %sfd; >- my $field; >- my $host_field; >- if ( $marcflavour eq 'MARC21' ) { >- if ( $field = $host->field('100') || $host->field('110') || $host->field('11') ) { >- my $s = $field->as_string('ab'); >- if ($s) { >- $sfd{a} = $s; >- } >- } >- if ( $field = $host->field('245') ) { >- my $s = $field->as_string('a'); >- if ($s) { >- $sfd{t} = $s; >- } >- } >- if ( $field = $host->field('260') ) { >- my $s = $field->as_string('abc'); >- if ($s) { >- $sfd{d} = $s; >- } >- } >- if ( $field = $host->field('240') ) { >- my $s = $field->as_string(); >- if ($s) { >- $sfd{b} = $s; >- } >- } >- if ( $field = $host->field('022') ) { >- my $s = $field->as_string('a'); >- if ($s) { >- $sfd{x} = $s; >- } >- } >- if ( $field = $host->field('020') ) { >- my $s = $field->as_string('a'); >- if ($s) { >- $sfd{z} = $s; >- } >- } >- if ( $field = $host->field('001') ) { >- $sfd{w} = $field->data(),; >- } >- $host_field = MARC::Field->new( 773, '0', ' ', %sfd ); >- return $host_field; >- } >- elsif ( $marcflavour eq 'UNIMARC' ) { >- #author >- if ( $field = $host->field('700') || $host->field('710') || $host->field('720') ) { >- my $s = $field->as_string('ab'); >- if ($s) { >- $sfd{a} = $s; >- } >- } >- #title >- if ( $field = $host->field('200') ) { >- my $s = $field->as_string('a'); >- if ($s) { >- $sfd{t} = $s; >- } >- } >- #place of publicaton >- if ( $field = $host->field('210') ) { >- my $s = $field->as_string('a'); >- if ($s) { >- $sfd{c} = $s; >- } >- } >- #date of publication >- if ( $field = $host->field('210') ) { >- my $s = $field->as_string('d'); >- if ($s) { >- $sfd{d} = $s; >- } >- } >- #edition statement >- if ( $field = $host->field('205') ) { >- my $s = $field->as_string(); >- if ($s) { >- $sfd{e} = $s; >- } >- } >- #URL >- if ( $field = $host->field('856') ) { >- my $s = $field->as_string('u'); >- if ($s) { >- $sfd{u} = $s; >- } >- } >- #ISSN >- if ( $field = $host->field('011') ) { >- my $s = $field->as_string('a'); >- if ($s) { >- $sfd{x} = $s; >- } >- } >- #ISBN >- if ( $field = $host->field('010') ) { >- my $s = $field->as_string('a'); >- if ($s) { >- $sfd{y} = $s; >- } >- } >- if ( $field = $host->field('001') ) { >- $sfd{0} = $field->data(),; >- } >- $host_field = MARC::Field->new( 461, '0', ' ', %sfd ); >- return $host_field; >- } >- return; >-} >- >- > =head2 UpdateTotalIssues > > UpdateTotalIssues($biblionumber, $increase, [$value]) >diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl >index 99c20580b51..afb4085fa8e 100755 >--- a/cataloguing/addbiblio.pl >+++ b/cataloguing/addbiblio.pl >@@ -34,7 +34,6 @@ use C4::Biblio qw( > GetMarcStructure > GetUsedMarcStructure > ModBiblio >- prepare_host_field > PrepHostMarcField > TransformHtmlToMarc > ApplyMarcOverlayRules >@@ -648,7 +647,8 @@ if ($parentbiblio) { > my $marcflavour = C4::Context->preference('marcflavour'); > $record = MARC::Record->new(); > SetMarcUnicodeFlag($record, $marcflavour); >- my $hostfield = prepare_host_field($parentbiblio,$marcflavour); >+ my $parent = Koha::Biblios->find( $parentbiblio ); >+ my $hostfield = $parent->generate_marc_host_field; > if ($hostfield) { > $record->append_fields($hostfield); > } >-- >2.45.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 37305
:
169078
| 169079