|
Lines 575-587
sub _copy_move_field {
Link Here
|
| 575 |
@from_fields = map { $_ <= @from_fields ? $from_fields[ $_ - 1 ] : () } @$field_numbers; |
575 |
@from_fields = map { $_ <= @from_fields ? $from_fields[ $_ - 1 ] : () } @$field_numbers; |
| 576 |
} |
576 |
} |
| 577 |
|
577 |
|
| 578 |
if ( $action eq 'replace' ) { |
578 |
my @new_fields; |
| 579 |
my @to_fields = $record->field( $toFieldName ); |
|
|
| 580 |
for my $to_field ( @to_fields ) { |
| 581 |
$record->delete_field( $to_field ); |
| 582 |
} |
| 583 |
} |
| 584 |
|
| 585 |
for my $from_field ( @from_fields ) { |
579 |
for my $from_field ( @from_fields ) { |
| 586 |
my $new_field = $from_field->clone; |
580 |
my $new_field = $from_field->clone; |
| 587 |
$new_field->{_tag} = $toFieldName; # Should be replaced by set_tag, introduced by MARC::Field 2.0.4 |
581 |
$new_field->{_tag} = $toFieldName; # Should be replaced by set_tag, introduced by MARC::Field 2.0.4 |
|
Lines 595-602
sub _copy_move_field {
Link Here
|
| 595 |
if ( $action eq 'move' ) { |
589 |
if ( $action eq 'move' ) { |
| 596 |
$record->delete_field( $from_field ) |
590 |
$record->delete_field( $from_field ) |
| 597 |
} |
591 |
} |
| 598 |
$record->insert_grouped_field( $new_field ); |
592 |
elsif ( $action eq 'replace' ) { |
|
|
593 |
my @to_fields = $record->field( $toFieldName ); |
| 594 |
if( @to_fields ) { |
| 595 |
$record->delete_field( $to_fields[0] ); |
| 596 |
} |
| 597 |
} |
| 598 |
unshift @new_fields, $new_field; |
| 599 |
} |
599 |
} |
|
|
600 |
$record->insert_fields_ordered( @new_fields ); |
| 600 |
} |
601 |
} |
| 601 |
|
602 |
|
| 602 |
sub _copy_move_subfield { |
603 |
sub _copy_move_subfield { |
| 603 |
- |
|
|