From bfbc76228abd0afab3bdce0fe8e0818004e7015c Mon Sep 17 00:00:00 2001 From: Thibaud Guillot Date: Mon, 20 Dec 2021 10:54:33 +0000 Subject: [PATCH] Bug 29173: (follow-up) add marcflavour preference in conditions --- cataloguing/z3950_auth_search.pl | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/cataloguing/z3950_auth_search.pl b/cataloguing/z3950_auth_search.pl index d6eab4bf96..71c5a0b6d6 100755 --- a/cataloguing/z3950_auth_search.pl +++ b/cataloguing/z3950_auth_search.pl @@ -31,15 +31,16 @@ use Koha::Authority::Types; my $input = CGI->new; my $dbh = C4::Context->dbh; +my $marcflavour = C4::Context->preference("marcflavour"); my $error = $input->param('error'); my $authid = $input->param('authid') || 0; -my $record = GetAuthority($authid); -my $authobj = Koha::Authorities->find($authid); -my $authtypecode = $authobj ? $authobj->authtypecode : ''; +my $record = GetAuthority($authid); +my $authobj = Koha::Authorities->find($authid); +my $authtypecode = $authobj ? $authobj->authtypecode : ''; my $authority_type = Koha::Authority::Types->find($authtypecode); -my $authtag = $authority_type->auth_tag_to_report; -my $authfields = $authtag ? $record->field($authtag) : ''; +my $authtag = $authority_type->auth_tag_to_report; +my $authfields = $authtag ? $record->field($authtag) : ''; my $nameany = $input->param('nameany'); my $authorany = $input->param('authorany'); my $authorcorp = $input->param('authorcorp'); @@ -57,31 +58,31 @@ $page = $input->param('goto_page') if $input->param('changepage_goto'); my $controlnumber = $input->param('controlnumber'); if (! $authorpersonal) { - if ($authtag == 100) { + if ($marcflavour eq 'MARC21' && $authtag == 100) { $authorpersonal = $authfields->subfield('a'); - } elsif ($authtag == 200) { + } elsif ($marcflavour eq 'UNIMARC' && $authtag == 200) { $authorpersonal = $authfields->subfield('a'); } } if (! $authormeetingcon) { - if ($authtag == 110) { + if ($marcflavour eq 'MARC21' && $authtag == 110) { $authormeetingcon = $authfields->subfield('a'); - } elsif ($authtag == 210) { + } elsif ($marcflavour eq 'UNIMARC' && $authtag == 210) { $authormeetingcon = $authfields->subfield('a'); } } if (! $uniformtitle) { - if ($authtag == 130) { + if ($marcflavour eq 'MARC21' && $authtag == 130) { $uniformtitle = $authfields->subfield('a'); - } elsif ($authtag == 230) { + } elsif ($marcflavour eq 'UNIMARC' && $authtag == 230) { $uniformtitle = $authfields->subfield('a'); } } if (! $subject) { - if ($authtag == 250) { + if ($marcflavour eq 'UNIMARC' && $authtag == 250) { $subject = $authfields->subfield('a'); } } -- 2.25.1