From fa4aba2efbf55d342d9f5c9fcabf7347ec3737c6 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Mon, 18 Apr 2016 17:28:36 +0000 Subject: [PATCH] Bug 14377 - Don't replace 942$n with authorised value except when using UNIMARC --- C4/XSLT.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/C4/XSLT.pm b/C4/XSLT.pm index dd13c50..33521d8 100644 --- a/C4/XSLT.pm +++ b/C4/XSLT.pm @@ -75,6 +75,7 @@ sub transformMARCXML4XSLT { @fields = $record->fields(); }; if ($@) { warn "PROBLEM WITH RECORD"; next; } + my $marcflavour = C4::Context->preference('marcflavour'); my $av = getAuthorisedValues4MARCSubfields($frameworkcode); foreach my $tag ( keys %$av ) { foreach my $field ( $record->field( $tag ) ) { @@ -82,8 +83,10 @@ sub transformMARCXML4XSLT { my @new_subfields = (); for my $subfield ( $field->subfields() ) { my ( $letter, $value ) = @$subfield; - $value = GetAuthorisedValueDesc( $tag, $letter, $value, '', $tagslib ) - if $av->{ $tag }->{ $letter }; + if ( $tag ne '942' && $subfield ne 'n' && $marcflavour ne 'UNIMARC' ) { + $value = GetAuthorisedValueDesc( $tag, $letter, $value, '', $tagslib ) + if $av->{ $tag }->{ $letter }; + } push( @new_subfields, $letter, $value ); } $field ->replace_with( MARC::Field->new( -- 2.1.4