From dd1c63230f7327bea6151962e92474acee38ab01 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Tue, 17 Jan 2017 11:59:53 +0100 Subject: [PATCH] Bug 17913: Run perltidy on the inner foreach loop Kept the same number of lines. You could verify with diff -w. Test plan: [1] Run t/db_dependent/Authorities/Merge.t [2] As the last patch in this series, also test the interface: Set AuthorityMergeMode to loose. Set dontmerge to Do. Modify an authority record attached to multiple biblios. Edit a subfield, clear a subfield and add a subfield. Save. Wait a bit for the merge and Zebra update. Verify that the changes are merged properly into biblio records. [3] Repeat step 2 with AuthorityMergeMode to strict. Remember that this affects the extra subfields in biblio records. Signed-off-by: Marcel de Rooy Signed-off-by: Josef Moravec Signed-off-by: Julian Maurice Signed-off-by: Kyle M Hall --- C4/AuthoritiesMarc.pm | 50 +++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/C4/AuthoritiesMarc.pm b/C4/AuthoritiesMarc.pm index e920c01518..e3f10f162c 100644 --- a/C4/AuthoritiesMarc.pm +++ b/C4/AuthoritiesMarc.pm @@ -1473,45 +1473,45 @@ sub merge { : { map { ( $_->[0], 1 ); } ( @record_from, @record_to ) }; foreach my $marcrecord(@reccache){ my $update = 0; - foreach my $tagfield (@$tags_using_authtype){ - my $countfrom = 0; # used in strict mode to remove duplicates - foreach my $field ($marcrecord->field($tagfield)){ - my $auth_number = $field->subfield("9"); # link to authority - my $tag=$field->tag(); + foreach my $tagfield (@$tags_using_authtype) { + my $countfrom = 0; # used in strict mode to remove duplicates + foreach my $field ( $marcrecord->field($tagfield) ) { + my $auth_number = $field->subfield("9"); # link to authority + my $tag = $field->tag(); next if !defined($auth_number) || $auth_number ne $mergefrom; $countfrom++; - if( $overwrite && $countfrom > 1 ) { + if ( $overwrite && $countfrom > 1 ) { # remove this duplicate in strict mode - $marcrecord->delete_field( $field ); + $marcrecord->delete_field($field); $update = 1; next; } my $newtag = $tags_new - ? _merge_newtag( $tag, $tags_new ) - : $tag; - my $field_to = MARC::Field->new( - $newtag, - $field->indicator(1), - $field->indicator(2), - "9" => $mergeto, - ); - foreach my $subfield (grep {$_->[0] ne '9'} @record_to) { - $field_to->add_subfields($subfield->[0] =>$subfield->[1]); + ? _merge_newtag( $tag, $tags_new ) + : $tag; + my $field_to = MARC::Field->new( + $newtag, + $field->indicator(1), + $field->indicator(2), + "9" => $mergeto, + ); + foreach my $subfield ( grep { $_->[0] ne '9' } @record_to ) { + $field_to->add_subfields( $subfield->[0] => $subfield->[1] ); } - if( !$overwrite ) { + if ( !$overwrite ) { # add subfields back in loose mode, check skip_subfields foreach my $subfield ( $field->subfields ) { next if $skip_subfields->{ $subfield->[0] }; $field_to->add_subfields( $subfield->[0], $subfield->[1] ); } } - if( $tags_new ) { - $marcrecord->delete_field( $field ); - append_fields_ordered( $marcrecord, $field_to ); - } else { - $field->replace_with($field_to); - } - $update=1; + if ($tags_new) { + $marcrecord->delete_field($field); + append_fields_ordered( $marcrecord, $field_to ); + } else { + $field->replace_with($field_to); + } + $update = 1; } } my ($bibliotag,$bibliosubf) = GetMarcFromKohaField("biblio.biblionumber","") ; -- 2.39.5