From ec6dd32bde6564e1be2f4a29b33fa38d9b101d35 Mon Sep 17 00:00:00 2001 From: Fridolyn SOMERS Date: Mon, 26 Nov 2012 15:15:18 +0100 Subject: [PATCH] Bug 9147: OPAC hidden fields are not hidden in ISBD view When in framework a subfield has a number > 0 in hidden, it his hidden in MARCview. It should be hidden also in ISBD view. Signed-off-by: Chris Cormack Does what it says, hides hidden fields on the OPAC Signed-off-by: Katrin Fischer All tests and QA script pass. To test: 1) Hide 245$b or another field from ISBD view in your MARC framework by assigning a hidden value greater 0 2) Check the different views in OPAC, the field should be hidden now from - Labelled MARC view (as it was before this patch) - ISBD view It will still show up for plain MARC and XSLT views. Signed-off-by: Jared Camins-Esakov --- C4/Biblio.pm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/C4/Biblio.pm b/C4/Biblio.pm index 7d28ccdb6d..1b882864ed 100644 --- a/C4/Biblio.pm +++ b/C4/Biblio.pm @@ -956,6 +956,10 @@ sub GetISBDView { # warn "ERROR IN ISBD DEFINITION at : $isbdfield" unless $fieldvalue; # warn "FV : $fieldvalue"; if ( $subfvalue ne "" ) { + # OPAC hidden subfield + next + if ( ( $template eq 'opac' ) + && ( $tagslib->{$fieldvalue}->{$subfvalue}->{'hidden'} || 0 ) > 0 ); foreach my $field (@fieldslist) { foreach my $subfield ( $field->subfield($subfvalue) ) { my $calculated = $analysestring; @@ -991,6 +995,10 @@ sub GetISBDView { for my $i ( 0 .. $#subf ) { my $valuecode = $subf[$i][1]; my $subfieldcode = $subf[$i][0]; + # OPAC hidden subfield + next + if ( ( $template eq 'opac' ) + && ( $tagslib->{$fieldvalue}->{$subfieldcode}->{'hidden'} || 0 ) > 0 ); my $subfieldvalue = GetAuthorisedValueDesc( $tag, $subf[$i][0], $subf[$i][1], '', $tagslib ); my $tagsubf = $tag . $subfieldcode; -- 2.39.5