Browse Source

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 <phil@chetcolibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
21.05.x
Nick Clemens 3 years ago
committed by Jonathan Druart
parent
commit
b3baca4137
  1. 8
      C4/Biblio.pm

8
C4/Biblio.pm

@ -210,10 +210,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 );
@ -283,6 +279,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;

Loading…
Cancel
Save