Bugzilla – Attachment 23415 Details for
Bug 11319
Marc modification templates improvements
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 11319: Koha::SimpleMARC should take a hashref for parameters
Bug-11319-KohaSimpleMARC-should-take-a-hashref-for.patch (text/plain), 25.11 KB, created by
Jonathan Druart
on 2013-12-11 16:42:45 UTC
(
hide
)
Description:
Bug 11319: Koha::SimpleMARC should take a hashref for parameters
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2013-12-11 16:42:45 UTC
Size:
25.11 KB
patch
obsolete
>From b23195f463316b5babfaabcfbd5aa944e1a4dd6a Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@biblibre.com> >Date: Wed, 11 Dec 2013 14:22:03 +0100 >Subject: [PATCH] Bug 11319: Koha::SimpleMARC should take a hashref for > parameters > >In order to avoid a long list of parameters, it should be better to >pass all of them into a hashref. > >This patch does not add or modify a behavior. > >Test plan: >Verify the unit tests still pass >- prove t/SimpleMARC.t >- prove t/db_dependent/MarcModificationTemplates.t >--- > C4/MarcModificationTemplates.pm | 94 +++++++++++++++++++--------- > Koha/SimpleMARC.pm | 62 ++++++++++++++---- > t/SimpleMARC.t | 132 +++++++++++++++++++-------------------- > 3 files changed, 178 insertions(+), 110 deletions(-) > >diff --git a/C4/MarcModificationTemplates.pm b/C4/MarcModificationTemplates.pm >index 50b77df..f143acd 100644 >--- a/C4/MarcModificationTemplates.pm >+++ b/C4/MarcModificationTemplates.pm >@@ -523,52 +523,49 @@ sub ModifyRecordWithTemplate { > $field_value =~ s/__BRANCHCODE__/$branchcode/g; > } > >- my @params = ( $record, $from_field, $from_subfield ); >- if ( $action eq 'update_field' ) { >- push @params, >- ( $field_value >- ? ( undef, $field_value ) >- : () >- ); >- } else { >- push @params, >- ( $field_value >- ? $field_value >- : () >- ); >- } >- push @params, ( >- ( ( not $field_value and $to_field ) >- ? ( $to_field, $to_subfield, { search => $to_regex_search, replace => $to_regex_replace, modifiers => $to_regex_modifiers} ) >- : () ), >- ( $field_number >- ? $field_number >- : () ) >- ); >- > my $do = 1; > if ( $conditional ) { > for ( $conditional_comparison ) { > when ( /^exists$/ ) { >- my $exists = field_exists( $record, $conditional_field, $conditional_subfield ); >+ my $exists = field_exists({ >+ record =>$record, >+ field => $conditional_field, >+ subfield => $conditional_subfield, >+ }); > $do = $conditional eq 'if' > ? $exists > : not $exists; > } > when ( /^not_exists$/ ) { >- my $exists = field_exists( $record, $conditional_field, $conditional_subfield ); >+ my $exists = field_exists({ >+ record => $record, >+ field => $conditional_field, >+ subfield => $conditional_subfield >+ }); > $do = $conditional eq 'if' > ? not $exists > : $exists; > } > when ( /^equals$/ ) { >- my $equals = field_equals( $record, $conditional_value, $conditional_field, $conditional_subfield, $conditional_regex ); >+ my $equals = field_equals({ >+ record => $record, >+ value => $conditional_value, >+ field => $conditional_field, >+ subfield => $conditional_subfield, >+ regex => $conditional_regex >+ }); > $do = $conditional eq 'if' > ? $equals > : not $equals; > } > when ( /^not_equals$/ ) { >- my $equals = field_equals( $record, $conditional_value, $conditional_field, $conditional_subfield, $conditional_regex ); >+ my $equals = field_equals({ >+ record => $record, >+ value => $conditional_value, >+ field => $conditional_field, >+ subfield => $conditional_subfield, >+ regex => $conditional_regex >+ }); > $do = $conditional eq 'if' > ? not $equals > : $equals; >@@ -579,16 +576,51 @@ sub ModifyRecordWithTemplate { > if ( $do ) { > for ( $action ) { > when ( /^copy_field$/ ) { >- copy_field( @params ); >+ copy_field({ >+ record => $record, >+ from_field => $from_field, >+ from_subfield => $from_subfield, >+ to_field => $to_field, >+ to_subfield => $to_subfield, >+ regex => { >+ search => $to_regex_search, >+ replace => $to_regex_replace, >+ modifiers => $to_regex_modifiers >+ }, >+ n => $field_number, >+ }); > } >+ > when ( /^update_field$/ ) { >- update_field( @params ); >+ update_field({ >+ record => $record, >+ field => $from_field, >+ subfield => $from_subfield, >+ values => [ $field_value ], >+ }); > } > when ( /^move_field$/ ) { >- move_field( @params ); >+ move_field({ >+ record => $record, >+ from_field => $from_field, >+ from_subfield => $from_subfield, >+ to_field => $to_field, >+ to_subfield => $to_subfield, >+ regex => { >+ search => $to_regex_search, >+ replace => $to_regex_replace, >+ modifiers => $to_regex_modifiers >+ }, >+ n => $field_number, >+ }); > } > when ( /^delete_field$/ ) { >- delete_field( @params ); >+ delete_field({ >+ record => $record, >+ field => $from_field, >+ subfield => $from_subfield, >+ n => $field_number, >+ }); > } > } > } >diff --git a/Koha/SimpleMARC.pm b/Koha/SimpleMARC.pm >index 2195143..2701250 100644 >--- a/Koha/SimpleMARC.pm >+++ b/Koha/SimpleMARC.pm >@@ -73,11 +73,19 @@ at your option, any later version of Perl 5 you may have available. > =cut > > sub copy_field { >- my ( $record, $fromFieldName, $fromSubfieldName, $toFieldName, $toSubfieldName, $regex, $n, $dont_erase ) = @_; >+ my ( $params ) = @_; >+ my $record = $params->{record}; >+ my $fromFieldName = $params->{from_field}; >+ my $fromSubfieldName = $params->{from_subfield}; >+ my $toFieldName = $params->{to_field}; >+ my $toSubfieldName = $params->{to_subfield}; >+ my $regex = $params->{regex}; >+ my $n = $params->{n}; >+ my $dont_erase = $params->{dont_erase}; > > if ( ! ( $record && $fromFieldName && $toFieldName ) ) { return; } > >- my @values = read_field( $record, $fromFieldName, $fromSubfieldName ); >+ my @values = read_field({ record => $record, field => $fromFieldName, subfield => $fromSubfieldName }); > @values = ( $values[$n-1] ) if ( $n ); > > if ( $regex and $regex->{search} ) { >@@ -105,7 +113,7 @@ sub copy_field { > } > } > } >- update_field( $record, $toFieldName, $toSubfieldName, $dont_erase, @values ); >+ update_field({ record => $record, field => $toFieldName, subfield => $toSubfieldName, dont_erase => $dont_erase, values => \@values }); > } > > =head2 update_field >@@ -123,7 +131,12 @@ sub copy_field { > =cut > > sub update_field { >- my ( $record, $fieldName, $subfieldName, $dont_erase, @values ) = @_; >+ my ( $params ) = @_; >+ my $record = $params->{record}; >+ my $fieldName = $params->{field}; >+ my $subfieldName = $params->{subfield}; >+ my $dont_erase = $params->{dont_erase}; >+ my @values = @{ $params->{values} }; > > if ( ! ( $record && $fieldName ) ) { return; } > >@@ -181,7 +194,11 @@ sub update_field { > =cut > > sub read_field { >- my ( $record, $fieldName, $subfieldName, $n ) = @_; >+ my ( $params ) = @_; >+ my $record = $params->{record}; >+ my $fieldName = $params->{field}; >+ my $subfieldName = $params->{subfield}; >+ my $n = $params->{n}; > > my @fields = $record->field( $fieldName ); > >@@ -209,7 +226,10 @@ sub read_field { > =cut > > sub field_exists { >- my ( $record, $fieldName, $subfieldName ) = @_; >+ my ( $params ) = @_; >+ my $record = $params->{record}; >+ my $fieldName = $params->{field}; >+ my $subfieldName = $params->{subfield}; > > if ( ! $record ) { return; } > >@@ -238,12 +258,18 @@ sub field_exists { > =cut > > sub field_equals { >- my ( $record, $value, $fieldName, $subfieldName, $regex, $n ) = @_; >+ my ( $params ) = @_; >+ my $record = $params->{record}; >+ my $value = $params->{value}; >+ my $fieldName = $params->{field}; >+ my $subfieldName = $params->{subfield}; >+ my $regex = $params->{regex}; >+ my $n = $params->{n}; > $n = 1 unless ( $n ); ## $n defaults to first field of a repeatable field series > > if ( ! $record ) { return; } > >- my @field_values = read_field( $record, $fieldName, $subfieldName, $n ); >+ my @field_values = read_field({ record => $record, field => $fieldName, subfield => $subfieldName, n => $n }); > my $field_value = $field_values[$n-1]; > > if ( $regex ) { >@@ -267,9 +293,17 @@ sub field_equals { > =cut > > sub move_field { >- my ( $record, $fromFieldName, $fromSubfieldName, $toFieldName, $toSubfieldName, $regex, $n ) = @_; >- copy_field( $record, $fromFieldName, $fromSubfieldName, $toFieldName, $toSubfieldName, $regex, $n , 'dont_erase' ); >- delete_field( $record, $fromFieldName, $fromSubfieldName, $n ); >+ my ( $params ) = @_; >+ my $record = $params->{record}; >+ my $fromFieldName = $params->{from_field}; >+ my $fromSubfieldName = $params->{from_subfield}; >+ my $toFieldName = $params->{to_field}; >+ my $toSubfieldName = $params->{to_subfield}; >+ my $regex = $params->{regex}; >+ my $n = $params->{n}; >+ >+ copy_field({ record => $record, from_field => $fromFieldName, from_subfield => $fromSubfieldName, to_field => $toFieldName, to_subfield => $toSubfieldName, regex => $regex, n => $n , dont_erase => 1 }); >+ delete_field({ record => $record, field => $fromFieldName, subfield => $fromSubfieldName, n => $n }); > } > > =head2 delete_field >@@ -284,7 +318,11 @@ sub move_field { > =cut > > sub delete_field { >- my ( $record, $fieldName, $subfieldName, $n ) = @_; >+ my ( $params ) = @_; >+ my $record = $params->{record}; >+ my $fieldName = $params->{field}; >+ my $subfieldName = $params->{subfield}; >+ my $n = $params->{n}; > > my @fields = $record->field( $fieldName ); > >diff --git a/t/SimpleMARC.t b/t/SimpleMARC.t >index 2969bd2..c867807 100644 >--- a/t/SimpleMARC.t >+++ b/t/SimpleMARC.t >@@ -40,8 +40,8 @@ sub new_record { > my $record = new_record; > > # field_exists >-is( field_exists( $record, '650', 'a'), 'Computer programming.', '650$a exists' ); >-is( field_exists( $record, '650', 'b'), undef, '650$b does not exist' ); >+is( field_exists({ record => $record, field => '650', subfield => 'a' }), 'Computer programming.', '650$a exists' ); >+is( field_exists({ record => $record, field => '650', subfield => 'b' }), undef, '650$b does not exist' ); > > $record->append_fields( > MARC::Field->new( >@@ -51,61 +51,59 @@ $record->append_fields( > ) > ); > >-is( field_exists( $record, '650', 'a'), 'Computer programming.', '650$a exists, field_exists returns the first one' ); >+is( field_exists({ record => $record, field => '650', subfield => 'a' }), 'Computer programming.', '650$a exists, field_exists returns the first one' ); > > # read_field >-my @fields_650a = read_field( $record, '650', 'a'); >+my @fields_650a = read_field({ record => $record, field => '650', subfield => 'a' }); > is( $fields_650a[0], 'Computer programming.', 'first 650$a' ); > is( $fields_650a[1], 'Computer algorithms.', 'second 650$a' ); >-is( read_field( $record, '650', 'a', 1 ), 'Computer programming.', 'first 650$a bis' ); >-is( read_field( $record, '650', 'a', 2 ), 'Computer algorithms.', 'second 650$a bis' ); >-is( read_field( $record, '650', 'a', 3 ), undef, 'There is no 3 650$a' ); >+is( read_field({ record => $record, field => '650', subfield => 'a', n => 1 }), 'Computer programming.', 'first 650$a bis' ); >+is( read_field({ record => $record, field => '650', subfield => 'a', n => 2 }), 'Computer algorithms.', 'second 650$a bis' ); >+is( read_field({ record => $record, field => '650', subfield => 'a', n => 3 }), undef, 'There is no 3 650$a' ); > > # copy_field >-copy_field( $record, '245', 'a', '246', 'a' ); >-is_deeply( read_field( $record, '245', 'a' ), 'The art of computer programming', 'After copy 245$a still exists' ); >-is_deeply( read_field( $record, '246', 'a' ), 'The art of computer programming', '246$a is a new field' ); >-delete_field( $record, '246' ); >-is( field_exists( $record, '246', 'a', '246$a does not exist anymore' ), undef ); >- >-copy_field( $record, '650', 'a', '651', 'a' ); >-my @fields_651a = read_field( $record, '651', 'a' ); >+copy_field({ record => $record, from_field => '245', from_subfield => 'a', to_field => '246', to_subfield => 'a' }); >+is_deeply( read_field({ record => $record, field => '245', subfield => 'a' }), 'The art of computer programming', 'After copy 245$a still exists' ); >+is_deeply( read_field({ record => $record, field => '246', subfield => 'a' }), 'The art of computer programming', '246$a is a new field' ); >+delete_field({ record => $record, field => '246' }); >+is( field_exists({ record => $record, field => '246', subfield => 'a' }), undef, '246$a does not exist anymore' ); >+ >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '651', to_subfield => 'a' }); >+my @fields_651a = read_field({ record => $record, field => '651', subfield => 'a' }); > is_deeply( \@fields_651a, ['Computer programming.', 'Computer algorithms.'], 'Copy multivalued field' ); >-delete_field( $record, '651' ); >+delete_field({ record => $record, field => '651' }); > >-copy_field( $record, '650', 'a', '651', 'a', undef, 1 ); >-@fields_651a = read_field( $record, '651', 'a' ); >-is_deeply( read_field( $record, '651', 'a' ), 'Computer programming.', 'Copy first field 650$a' ); >-delete_field( $record, '651' ); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '651', to_subfield => 'a', n => 1 }); >+is_deeply( read_field({record => $record, field => '651', subfield => 'a' }), 'Computer programming.', 'Copy first field 650$a' ); >+delete_field({ record => $record, field => '652' }); > >-copy_field( $record, '650', 'a', '651', 'a', undef, 2 ); >-@fields_651a = read_field( $record, '651', 'a' ); >-is_deeply( read_field( $record, '651', 'a' ), 'Computer algorithms.', 'Copy second field 650$a' ); >-delete_field( $record, '651' ); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '651', to_subfield => 'a', n => 2 }); >+is_deeply( read_field({ record => $record, field => '651', subfield => 'a' }), 'Computer algorithms.', 'Copy second field 650$a' ); >+delete_field({ record => $record, field => '651' }); > >-copy_field( $record, '650', 'a', '651', 'a', { search => 'Computer', replace => 'The art of' } ); >-@fields_651a = read_field( $record, '651', 'a' ); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '651', to_subfield => 'a', regex => { search => 'Computer', replace => 'The art of' } } ); >+@fields_651a = read_field({ record => $record, field => '651', subfield => 'a' }); > is_deeply( \@fields_651a, ['The art of programming.', 'The art of algorithms.'], 'Copy field using regex' ); > >-copy_field( $record, '650', 'a', '651', 'a', { search => 'Computer', replace => 'The mistake of' } ); >-@fields_651a = read_field( $record, '651', 'a' ); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '651', to_subfield => 'a', regex => { search => 'Computer', replace => 'The mistake of' } } ); >+@fields_651a = read_field({ record => $record, field => '651', subfield => 'a' }); > is_deeply( \@fields_651a, ['The mistake of programming.', 'The mistake of algorithms.'], 'Copy fields using regex on existing fields' ); >-delete_field( $record, '651' ); >+delete_field({ record => $record, field => '651' }); > >-copy_field( $record, '650', 'a', '651', 'a', { search => 'Computer', replace => 'The art of' } ); >-copy_field( $record, '650', 'a', '651', 'a', { search => 'Computer', replace => 'The mistake of' }, 1, "dont_erase" ); >-@fields_651a = read_field( $record, '651', 'a' ); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '651', to_subfield => 'a', regex => { search => 'Computer', replace => 'The art of' } } ); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '651', to_subfield => 'a', regex => { search => 'Computer', replace => 'The mistake of' }, n => 1, dont_erase => 1 } ); >+@fields_651a = read_field({ record => $record, field => '651', subfield => 'a' }); > is_deeply( \@fields_651a, [ > 'The art of programming.', > 'The mistake of programming.', > 'The art of algorithms.', > 'The mistake of programming.' > ], 'Copy first field using regex on existing fields without erase existing values' ); >-delete_field( $record, '651' ); >+delete_field({ record => $record, field => '651' }); > >-copy_field( $record, '650', 'a', '651', 'a', { search => 'Computer', replace => 'The art of' } ); >-copy_field( $record, '650', 'a', '651', 'a', { search => 'Computer', replace => 'The mistake of' }, undef , "dont_erase" ); >-@fields_651a = read_field( $record, '651', 'a' ); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '651', to_subfield => 'a', regex => { search => 'Computer', replace => 'The art of' } }); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '651', to_subfield => 'a', regex => { search => 'Computer', replace => 'The mistake of' }, dont_erase => 1 }); >+@fields_651a = read_field({ record => $record, field => '651', subfield => 'a' }); > is_deeply( \@fields_651a, [ > 'The art of programming.', > 'The mistake of programming.', >@@ -114,33 +112,33 @@ is_deeply( \@fields_651a, [ > 'The mistake of programming.', > 'The mistake of algorithms.' > ], 'Copy fields using regex on existing fields without erase existing values' ); >-delete_field( $record, '651' ); >+delete_field({ record => $record, field => '651' }); > > # Copy with regex modifiers >-copy_field( $record, '650', 'a', '652', 'a', { search => 'o', replace => 'foo' } ); >-my @fields_652a = read_field( $record, '652', 'a' ); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '652', to_subfield => 'a', regex => { search => 'o', replace => 'foo' } }); >+my @fields_652a = read_field({ record => $record, field => '652', subfield => 'a' }); > is_deeply( \@fields_652a, ['Cfoomputer programming.', 'Cfoomputer algorithms.'], 'Copy field using regex' ); > >-copy_field( $record, '650', 'a', '653', 'a', { search => 'o', replace => 'foo', modifiers => 'g' } ); >-my @fields_653a = read_field( $record, '653', 'a' ); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '653', to_subfield => 'a', regex => { search => 'o', replace => 'foo', modifiers => 'g' } }); >+my @fields_653a = read_field({ record => $record, field => '653', subfield => 'a' }); > is_deeply( \@fields_653a, ['Cfoomputer prfoogramming.', 'Cfoomputer algfoorithms.'], 'Copy field using regex' ); > >-copy_field( $record, '650', 'a', '654', 'a', { search => 'O', replace => 'foo', modifiers => 'i' } ); >-my @fields_654a = read_field( $record, '654', 'a' ); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '654', to_subfield => 'a', regex => { search => 'O', replace => 'foo', modifiers => 'i' } }); >+my @fields_654a = read_field({ record => $record, field => '654', subfield => 'a' }); > is_deeply( \@fields_654a, ['Cfoomputer programming.', 'Cfoomputer algorithms.'], 'Copy field using regex' ); > >-copy_field( $record, '650', 'a', '655', 'a', { search => 'O', replace => 'foo', modifiers => 'gi' } ); >-my @fields_655a = read_field( $record, '655', 'a' ); >+copy_field({ record => $record, from_field => '650', from_subfield => 'a', to_field => '655', to_subfield => 'a', regex => { search => 'O', replace => 'foo', modifiers => 'gi' } }); >+my @fields_655a = read_field({ record => $record, field => '655', subfield => 'a' }); > is_deeply( \@fields_655a, ['Cfoomputer prfoogramming.', 'Cfoomputer algfoorithms.'], 'Copy field using regex' ); > > # update_field >-update_field( $record, '952', 'p', undef, '3010023918' ); >-is_deeply( read_field( $record, '952', 'p' ), '3010023918', 'update existing subfield 952$p' ); >-delete_field( $record, '952' ); >-update_field( $record, '952', 'p', undef, '3010023918' ); >-update_field( $record, '952', 'y', undef, 'BK' ); >-is_deeply( read_field( $record, '952', 'p' ), '3010023918', 'create subfield 952$p' ); >-is_deeply( read_field( $record, '952', 'y' ), 'BK', 'create subfield 952$k on existing 952 field' ); >+update_field({ record => $record, field => '952', subfield => 'p', values => ['3010023918'] }); >+is_deeply( read_field({ record => $record, field => '952', subfield => 'p' }), '3010023918', 'update existing subfield 952$p' ); >+delete_field({ record => $record, field => '952' }); >+update_field({ record => $record, field => '952', subfield => 'p', values => ['3010023918'] }); >+update_field({ record => $record, field => '952', subfield => 'y', values => ['BK'] }); >+is_deeply( read_field({ record => $record, field => '952', subfield => 'p' }), '3010023918', 'create subfield 952$p' ); >+is_deeply( read_field({ record => $record, field => '952', subfield => 'y' }), 'BK', 'create subfield 952$k on existing 952 field' ); > $record->append_fields( > MARC::Field->new( > 952, ' ', ' ', >@@ -148,12 +146,12 @@ $record->append_fields( > y => 'BK', > ), > ); >-update_field( $record, '952', 'p', undef, '3010023919' ); >-my @fields_952p = read_field( $record, '952', 'p' ); >+update_field({ record => $record, field => '952', subfield => 'p', values => ['3010023919'] }); >+my @fields_952p = read_field({ record => $record, field => '952', subfield => 'p' }); > is_deeply( \@fields_952p, ['3010023919', '3010023919'], 'update all subfields 952$p with the same value' ); > >-update_field( $record, '952', 'p', undef, ('3010023917', '3010023918') ); >-@fields_952p = read_field( $record, '952', 'p' ); >+update_field({ record => $record, field => '952', subfield => 'p', values => ['3010023917', '3010023918'] }); >+@fields_952p = read_field({ record => $record, field => '952', subfield => 'p' }); > is_deeply( \@fields_952p, ['3010023917', '3010023918'], 'update all subfields 952$p with the different values' ); > > # move_field >@@ -166,19 +164,19 @@ $record->append_fields( > y => 'BK', > ), > ); >-copy_field( $record, '952', 'd', '952', 'd' ); >-@fields_952d = read_field( $record, '952', 'd' ); >+copy_field({ record => $record, from_field => '952', from_subfield => 'd', to_field => '952', to_subfield => 'd' }); >+@fields_952d = read_field({ record => $record, field => '952', subfield => 'd' }); > is_deeply( \@fields_952d, ['2001-06-25', '2001-06-25'], 'copy 952$d into others 952 field' ); > >-move_field( $record, '952', 'c', '954', 'c' ); >-@fields_952c = read_field( $record, '952', 'c' ); >-@fields_954c = read_field( $record, '954', 'c' ); >+move_field({ record => $record, from_field => '952', from_subfield => 'c', to_field => '954', to_subfield => 'c' }); >+@fields_952c = read_field({ record => $record, field => '952', subfield => 'c' }); >+@fields_954c = read_field({ record => $record, field => '954', subfield => 'c' }); > is_deeply( \@fields_952c, [], 'The 952$c has moved' ); > is_deeply( \@fields_954c, ['GEN'], 'Now 954$c exists' ); > >-move_field( $record, '952', 'p', '954', 'p', undef, 1 ); # Move the first field >-@fields_952p = read_field( $record, '952', 'p' ); >-@fields_954p = read_field( $record, '954', 'p' ); >+move_field({ record => $record, from_field => '952', from_subfield => 'p', to_field => '954', to_subfield => 'p', n => 1 }); # Move the first field >+@fields_952p = read_field({ record => $record, field => '952', subfield => 'p' }); >+@fields_954p = read_field({ record => $record, field => '954', subfield => 'p' }); > is_deeply( \@fields_952p, ['3010023917'], 'One of 952$p has moved' ); > is_deeply( \@fields_954p, ['3010023917'], 'Now 954$p exists' ); > >@@ -191,9 +189,9 @@ $record->append_fields( > ), > ); > >-move_field( $record, '952', 'p', '954', 'p' ); # Move all field >-@fields_952p = read_field( $record, '952', 'p' ); >-@fields_954p = read_field( $record, '954', 'p' ); >+move_field({ record => $record, from_field => '952', from_subfield => 'p', to_field => '954', to_subfield => 'p' }); # Move all field >+@fields_952p = read_field({ record => $record, field => '952', subfield => 'p' }); >+@fields_954p = read_field({ record => $record, field => '954', subfield => 'p' }); > is_deeply( \@fields_952p, [], 'All 952$p have moved' ); > is_deeply( \@fields_954p, ['3010023917', '3010023917'], 'Now 2 954$p exist' ); > >-- >1.7.10.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 11319
:
23206
|
23414
|
23415
|
23416
|
23417
|
23418
|
23419
|
24650
|
25751
|
25752
|
25753
|
25754
|
25755
|
28988
|
28989
|
28990
|
28991
|
28992
|
29497
|
29498
|
29499
|
29500
|
29501
|
31343
|
33029
|
33030
|
33038
|
33039
|
33040
|
33041
|
33042
|
33043
|
33044