Bug 22571: Handle control fields in MMT for conditionals
Control fields are not handled correctly by Koha::SimpleMARC when
comparaison (with or without regex) is done.
Which means we did not support something like:
Do something if control field 008 equals or matches "a string"
Test plan:
Create a new MARC modification template and a new action, like:
Add new field 100$a with value "foo bar" if 008 (or any other control
fields) matches (or equals) a regex
Then use the record mofication tool and confirm that the new field is
create if the regex matches 008 of the bib record
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit c59586aebe)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
371389605f
commit
e9455e8d55
|
|
@ -415,9 +415,15 @@ sub field_equals {
|
|||
my @field_numbers = ();
|
||||
my $current_field_number = 1;
|
||||
FIELDS: for my $field ( $record->field( $fieldName ) ) {
|
||||
my @subfield_values = $subfieldName
|
||||
? $field->subfield( $subfieldName )
|
||||
: map { $_->[1] } $field->subfields;
|
||||
my @subfield_values;
|
||||
if ( $field->is_control_field ) {
|
||||
push @subfield_values, $field->data;
|
||||
} else {
|
||||
@subfield_values =
|
||||
$subfieldName
|
||||
? $field->subfield($subfieldName)
|
||||
: map { $_->[1] } $field->subfields;
|
||||
}
|
||||
|
||||
SUBFIELDS: for my $subfield_value ( @subfield_values ) {
|
||||
if (
|
||||
|
|
|
|||
Loading…
Reference in New Issue