From 9c3eb146fa8ff22452f87afb12cb6de25ac00b5d Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Wed, 17 Jan 2018 14:26:38 +0100 Subject: [PATCH] Bug 20063: (bug 18811 follow-up) Allow hidden $9 subfields Although we could argue that the user should make all $9 subfields visible, this might be a good compromise. It selectively reverts the change from the first patch by accepting $9 subfields without checking the hidden flag in the framework. Test plan: [1] Make a subfield $9 visible for some authority field. [2] Put a value in it somewhere in authorities.pl [3] Make subfield $9 invisible in the auth framework. [4] Open and save the adjusted authority record. [5] Check the marcxml of this record. Signed-off-by: Jonathan Druart Signed-off-by: Nick Clemens --- authorities/authorities.pl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/authorities/authorities.pl b/authorities/authorities.pl index 84fba09a07..7ffb0109ba 100755 --- a/authorities/authorities.pl +++ b/authorities/authorities.pl @@ -404,7 +404,7 @@ sub build_tabs { $subfield = '@'; } next if ( $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop ); - next if $tagslib->{$tag}->{$subfield}->{hidden}; + next if $tagslib->{$tag}->{$subfield}->{hidden} && $subfield ne '9'; push( @subfields_data, &create_input( @@ -420,7 +420,7 @@ sub build_tabs { my $value = $subfields[$subfieldcount][1]; next if ( length $subfield != 1 ); next if ( $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop ); - next if $tagslib->{$tag}->{$subfield}->{hidden}; + next if $tagslib->{$tag}->{$subfield}->{hidden} && $subfield ne '9'; push( @subfields_data, &create_input( @@ -437,7 +437,7 @@ sub build_tabs { next if ( length $subfield != 1 ); next if ( $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop ); next if ( $tag < 10 ); - next if $tagslib->{$tag}->{$subfield}->{hidden}; + next if $tagslib->{$tag}->{$subfield}->{hidden} && $subfield ne '9'; next if ( defined( $field->subfield($subfield) ) ); push( @subfields_data, @@ -476,7 +476,7 @@ sub build_tabs { my @subfields_data; foreach my $subfield ( sort( keys %{ $tagslib->{$tag} } ) ) { next if ( length $subfield != 1 ); - next if $tagslib->{$tag}->{$subfield}->{hidden}; + next if $tagslib->{$tag}->{$subfield}->{hidden} && $subfield ne '9'; next if ( $tagslib->{$tag}->{$subfield}->{tab} ne $tabloop ); push( @subfields_data, -- 2.39.5