Bug 32279: Add GetAuthorizedHeading method export C4::AuthoritiesMarc
authorFridolin Somers <fridolin.somers@biblibre.com>
Sat, 19 Nov 2022 03:36:47 +0000 (17:36 -1000)
committerTomas Cohen Arazi <tomascohen@theke.io>
Fri, 31 Mar 2023 16:43:40 +0000 (18:43 +0200)
C4::AuthoritiesMarc method GetAuthorizedHeading is not exported thus it is called in other modules :
 > git grep GetAuthorizedHeading
C4/AuthoritiesMarc.pm:=head2 GetAuthorizedHeading
C4/AuthoritiesMarc.pm:  $heading = &GetAuthorizedHeading({ record => $record, authid => $authid })
C4/AuthoritiesMarc.pm:sub GetAuthorizedHeading {
C4/Breeding.pm:                            $heading = C4::AuthoritiesMarc::GetAuthorizedHeading({ record => $marcrecord });
C4/ImportBatch.pm:            $row->{'authorized_heading'} = C4::AuthoritiesMarc::GetAuthorizedHeading( { authid => $row->{'candidate_match_id'} } );
C4/ImportBatch.pm:    my $authorized_heading = C4::AuthoritiesMarc::GetAuthorizedHeading({ record => $marc_record });

This patch adds it to be exported.
For example for use in Koha plugins.

Test plan :
Check import of authorities from a file is OK

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
C4/AuthoritiesMarc.pm
C4/Breeding.pm
C4/ImportBatch.pm

index 0a2a736..02f9103 100644 (file)
@@ -53,6 +53,7 @@ BEGIN {
       DelAuthority
       GetAuthority
       GetAuthorityXML
+      GetAuthorizedHeading
 
       SearchAuthorities
 
index 4cec04b..f55f6e3 100644 (file)
@@ -27,7 +27,7 @@ use C4::Charset qw( MarcToUTF8Record SetUTF8Flag );
 use MARC::File::USMARC;
 use MARC::Field;
 use C4::ImportBatch qw( GetZ3950BatchId AddBiblioToBatch AddAuthToBatch );
-use C4::AuthoritiesMarc qw( GuessAuthTypeCode );
+use C4::AuthoritiesMarc qw( GuessAuthTypeCode GetAuthorizedHeading );
 use C4::Languages;
 use Koha::Database;
 use Koha::XSLT::Base;
@@ -593,7 +593,7 @@ sub Z3950SearchAuth {
                             $heading_authtype_code = GuessAuthTypeCode($marcrecord);
                             next if ( not defined $heading_authtype_code ) ;
 
-                            $heading = C4::AuthoritiesMarc::GetAuthorizedHeading({ record => $marcrecord });
+                            $heading = GetAuthorizedHeading({ record => $marcrecord });
 
                             my $breedingid = ImportBreedingAuth( $marcrecord, $serverhost[$k], $encoding[$k], $heading );
                             my %row_data;
index 5f276ac..f9e248b 100644 (file)
@@ -32,7 +32,7 @@ use C4::Biblio qw(
 );
 use C4::Items qw( AddItemFromMarc ModItemFromMarc );
 use C4::Charset qw( MarcToUTF8Record SetUTF8Flag StripNonXmlChars );
-use C4::AuthoritiesMarc qw( AddAuthority GuessAuthTypeCode GetAuthorityXML ModAuthority DelAuthority );
+use C4::AuthoritiesMarc qw( AddAuthority GuessAuthTypeCode GetAuthorityXML ModAuthority DelAuthority GetAuthorizedHeading );
 use C4::MarcModificationTemplates qw( ModifyRecordWithTemplate );
 use Koha::Items;
 use Koha::SearchEngine;
@@ -1508,7 +1508,7 @@ sub GetImportRecordMatches {
     $sth->execute();
     while (my $row = $sth->fetchrow_hashref) {
         if ($row->{'record_type'} eq 'auth') {
-            $row->{'authorized_heading'} = C4::AuthoritiesMarc::GetAuthorizedHeading( { authid => $row->{'candidate_match_id'} } );
+            $row->{'authorized_heading'} = GetAuthorizedHeading( { authid => $row->{'candidate_match_id'} } );
         }
         next if ($row->{'record_type'} eq 'biblio' && not $row->{'biblionumber'});
         push @$results, $row;
@@ -1675,7 +1675,7 @@ sub _add_auth_fields {
     if ($marc_record->field('001')) {
         $controlnumber = $marc_record->field('001')->data();
     }
-    my $authorized_heading = C4::AuthoritiesMarc::GetAuthorizedHeading({ record => $marc_record });
+    my $authorized_heading = GetAuthorizedHeading({ record => $marc_record });
     my $dbh = C4::Context->dbh;
     my $sth = $dbh->prepare("INSERT INTO import_auths (import_record_id, control_number, authorized_heading) VALUES (?, ?, ?)");
     $sth->execute($import_record_id, $controlnumber, $authorized_heading);