From 29563689d072d5a200443eeb6e3f76c5641f4bf3 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Fri, 29 Jan 2021 13:33:34 +0000 Subject: [PATCH] Bug 27577: Autolink biblio after biblionumber is generated If BiblioAddsAuthorities and AutoCreateAuthorities are enabled, a new record is auto linked when saving and authorities generated with a 670 field that indicates which record generated the new authority. The code to do this is called before the biblionumber is generated, so the variable that adds the biblionumber to the citation is empty This patch moves the linking code to after the biblionumber is generated To recreate: 1 - Enable BiblioAddsAuthorities and AutoCreateAuthorities 2 - Import or create a new record 3 - Ensure the record has controlled fields that do not have authorities before saving, i.e.: Add a 650 with "test_bug_27577_01" 4 - Search for the authority record 5 - Note the 670 field does not contain the biblionumber 6 - Apply patch, restart all the things 7 - Repeat 2-4 8 - Note the 670 now has the biblionumber Signed-off-by: Phil Ringnalda Signed-off-by: Katrin Fischer --- C4/Biblio.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index e84110cccc..d00d4f18af 100644 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -211,10 +211,6 @@ sub AddBiblio { try { $schema->txn_do(sub { - if (C4::Context->preference('BiblioAddsAuthorities')) { - BiblioAutoLink( $record, $frameworkcode ); - } - # transform the data into koha-table style data SetUTF8Flag($record); my $olddata = TransformMarcToKoha( $record, $frameworkcode ); @@ -284,6 +280,10 @@ sub AddBiblio { # update MARC subfield that stores biblioitems.cn_sort _koha_marc_update_biblioitem_cn_sort( $record, $olddata, $frameworkcode ); + if (C4::Context->preference('BiblioAddsAuthorities')) { + BiblioAutoLink( $record, $frameworkcode ); + } + # now add the record ModBiblioMarc( $record, $biblionumber ) unless $defer_marc_save; -- 2.11.0