From 6870c5ffb696a2824b766abc528dc5af4597b2a9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Adolfo=20Rodr=C3=ADguez?= Date: Fri, 5 May 2023 16:11:26 +0200 Subject: [PATCH] Bug 31185: Link authorities automatically doesn't detect duplicate authorities Signed-off-by: Rachael Laritz Signed-off-by: Katrin Fischer Signed-off-by: Martin Renvoize Signed-off-by: Tomas Cohen Arazi (cherry picked from commit f0360be7a73336ec82ed64aed952d0fb9c23a8c5) Signed-off-by: Martin Renvoize --- C4/Biblio.pm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index 2c63adb00e..93091b0ca9 100644 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -677,8 +677,10 @@ sub LinkBibHeadingsToAuthorities { elsif ( C4::Context->preference('AutoCreateAuthorities') ) { if ( _check_valid_auth_link( $current_link, $field ) ) { $results{'linked'}->{ $heading->display_form() }++; - } - elsif ( !$match_count ) { + } elsif ( $match_count > 1 ) { + $results{'unlinked'}->{ $heading->display_form() }++; + push(@{$results{'details'}}, { tag => $field->tag(), authid => undef, status => 'MULTIPLE_MATCH', auth_type => $heading->auth_type(), tag_to_report => $authority_type->auth_tag_to_report}) if $verbose; + } elsif ( !$match_count ) { my $authority_type = Koha::Authority::Types->find( $heading->auth_type() ); my $marcrecordauth = MARC::Record->new(); if ( C4::Context->preference('marcflavour') eq 'MARC21' ) { @@ -763,6 +765,10 @@ sub LinkBibHeadingsToAuthorities { push(@{$results{'details'}}, { tag => $field->tag(), authid => undef, status => 'NONE_FOUND', auth_type => $heading->auth_type(), tag_to_report => $authority_type->auth_tag_to_report}) if $verbose; } } + elsif ( $match_count > 1 ) { + $results{'unlinked'}->{ $heading->display_form() }++; + push(@{$results{'details'}}, { tag => $field->tag(), authid => undef, status => 'MULTIPLE_MATCH', auth_type => $heading->auth_type(), tag_to_report => $authority_type->auth_tag_to_report}) if $verbose; + } else { $results{'unlinked'}->{ $heading->display_form() }++; push(@{$results{'details'}}, { tag => $field->tag(), authid => undef, status => 'NONE_FOUND', auth_type => $heading->auth_type(), tag_to_report => $authority_type->auth_tag_to_report}) if $verbose; -- 2.39.5