Bug 25273: (follow-up) Don't die on unknown authtype

We are guessing authtype code and inserting the heading built accorindg to C4::Heading

If we can't identify the auth type, we can format the heading. There is a record in the koha test
data that is missing the heading field so type cannot be idenfitied

This prevents us from dying n a record where we cannot identify the type.

Note: This code will also be triggered for custom authority types, higlighting
that they won't link because of hardcoded mappings in C4::Heading. We must tackle this
on a new bug

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 5a87514b2e)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 401133b5b1)

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
This commit is contained in:
Nick Clemens 2020-08-24 14:24:39 +00:00 committed by Aleisha Amohia
parent c2be412ade
commit de25b00a17
1 changed files with 7 additions and 3 deletions

View File

@ -488,9 +488,13 @@ sub marc_records_to_documents {
if ( $self->index eq 'authorities' ){
my $authtypecode = GuessAuthTypeCode( $record );
my $field = $record->field( $auth_match_headings{ $authtypecode } );
my $heading = C4::Heading->new_from_field( $field, undef, 1 ); #new auth heading
push @{$record_document->{'match-heading'}}, $heading->search_form if $heading;
if( $authtypecode ){
my $field = $record->field( $auth_match_headings{ $authtypecode } );
my $heading = C4::Heading->new_from_field( $field, undef, 1 ); #new auth heading
push @{$record_document->{'match-heading'}}, $heading->search_form if $heading;
} else {
warn "Cannot determine authority type for record: " . $record->field('001')->as_string;
}
}
my $mappings = $rules->{leader};