Bug 35405: Remove noise from MARC::Record in SearchAuthorities

We are calling ->field with an undef parameter.
MARC::Record does not like that and says:
  Use of uninitialized value $tag in hash element at /usr/share/perl5/MARC/Record.pm line 202.
For now, a fix at our side.

Test plan:
Run SearchAuthorities without passing an authtypecode.
Without this patch, it results in a warning per hit.
With this patch, the noise should be gone.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Marcel de Rooy 2023-11-27 16:12:41 +01:00 committed by Katrin Fischer
parent f3bb885052
commit ac02c1d2ad
Signed by: kfischer
GPG key ID: 0EF6E2C03357A834

View file

@ -297,12 +297,13 @@ sub SearchAuthorities {
my %newline;
$newline{authid} = $authid;
if ( !$skipmetadata ) {
my $auth_tag_to_report;
$auth_tag_to_report = Koha::Authority::Types->find($authtypecode)->auth_tag_to_report
if $authtypecode;
my $reported_tag;
my $mainentry = $authrecord->field($auth_tag_to_report);
my ( $auth_tag_to_report, $reported_tag, $mainentry );
if ( $authtypecode ) {
$auth_tag_to_report = Koha::Authority::Types->find($authtypecode)->auth_tag_to_report;
$mainentry = $authrecord->field($auth_tag_to_report) if $auth_tag_to_report;
}
if ($mainentry) {
$reported_tag = q{};
foreach ( $mainentry->subfields() ) {
$reported_tag .= '$' . $_->[0] . $_->[1];
}