Bug 39545: Better generation of 773 field for a child record (MARC21)

When creating a child record (New > New child record from Normal view)
the information put in field 773 is very basic, sometimes not
complete (e.g. only one ISBN, only 245 $a in 773 $t, 773 $w
missing 003 of the host record etc.) and put in random order.

Test plan:
==========
1. Find any record to be a host record for an analytical record. You
   can enrich the record with multiple 020, 490+830 fields, make sure that
   there are 001 and 003 fields present.
2. From upper menu chose New > New child record.
3. See the generated field 773 - the subfields are incomplete and in
   random order.
4. Apply the patch ; restart_all.
5. Repeat p. 2.-3. See that the generated 773 field contains now much
   more information, including 773 $7 and also preset leader.

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Rebased-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
The rebase removed the majority of this patch as the prepare_host_field
method was removed entirely upstream.  The follow-up patch re-implements
the same but in the newer Koha::Biblio->generate_marc_host_field method
instead.  We also dropped the Unit tests that were introduced in the
subsequent patch.

Sponsored-by: Open Fifth <https://openfifth.co.uk>
Signed-off-by: Heather Hernandez <flyingendpaper@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 0b4b8e7078)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
This commit is contained in:
Janusz Kaczmarek 2025-04-03 12:44:31 +00:00 committed by Paul Derscheid
parent 865801e609
commit 5a9de9c56c
No known key found for this signature in database
GPG Key ID: C25F9FD44CED595B
1 changed files with 1 additions and 0 deletions

View File

@ -644,6 +644,7 @@ if ($hostbiblionumber) {
if ($parentbiblio) {
my $marcflavour = C4::Context->preference('marcflavour');
$record = MARC::Record->new();
$record->leader(' naa a22 i 4500');
SetMarcUnicodeFlag( $record, $marcflavour );
my $parent = Koha::Biblios->find($parentbiblio);
my $hostfield = $parent->generate_marc_host_field;