From 81b5ec7f254040ee3d3291f4803dc47efe905bd4 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 Signed-off-by: Jonathan Druart (cherry picked from commit b3baca4137ae6d4ef88022d3407d90b9677fcacf) Signed-off-by: Fridolin Somers (cherry picked from commit d384e4601828ea8b3ca0c6be653ec372da3a5939) Signed-off-by: Andrew Fuerste-Henry --- C4/Biblio.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index 63b5d4af49..dd35de8d5d 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, $frameworkcode ) unless $defer_marc_save; -- 2.39.5