Bug 24421: Check if subfields are valid using the biblio tag
authorNick Clemens <nick@bywatersolutions.com>
Tue, 14 Jan 2020 16:13:25 +0000 (16:13 +0000)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Mon, 27 Jan 2020 15:56:16 +0000 (15:56 +0000)
To test:
 1 - Enable the sysprefs
     AutoCreateAuthorities
     BiblioAddsAuthorities
     CatalogModuleRelink
 2 - Open a record with a subject heading with a subdivision and add a new subfield, or add a new unauthroized heading to a record and save it
    e.g. 650$aChess$xOpenings$vFiction.
 3 - Save the record, note the created authority and that field is linked
 4 - Save the record again and note the authority number changes
 5 - Find and view the authority linked to the record
 6 - The record is for 'Chess', not Chess openings'
 7 - Search authorities for 'Chess' - note duplicated records
 8 - Apply patch, restart all
 9 - Save the record, auth number increases again, we shoudl create the correct record this time
10 - Save again, auth number should not change
11 - Search authorities and confirm the generated authority has the correct subfields

Signed-off-by: Myka Kennedy Stephens <mkstephens@lancasterseminary.edu>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
C4/Biblio.pm

index c07313a..93bed27 100644 (file)
@@ -549,7 +549,7 @@ sub LinkBibHeadingsToAuthorities {
                         $authfield->add_subfields( $_->[0] => $_->[1] )
                           if ( $_->[0] =~ /[A-z]/ && $_->[0] ne "a"
                             && C4::Heading::valid_bib_heading_subfield(
-                                $authority_type->auth_tag_to_report, $_->[0] )
+                                $field->tag, $_->[0] )
                             );
                     } $field->subfields();
                     $marcrecordauth->insert_fields_ordered($authfield);