@@ -, +, @@ - Apply the first patch with two new tests - Run something like this: sudo koha-shell -c "prove -v t/db_dependent/OAI/Sets.t" kohadev - Verify that the last test fails - Apply this secind patch - Rerun the test file above - Verify that all tests now pass --- C4/OAI/Sets.pm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) --- a/C4/OAI/Sets.pm +++ a/C4/OAI/Sets.pm @@ -541,14 +541,25 @@ sub _evalRule { my $subfield = $mapping->{'marcsubfield'}; my $operator = $mapping->{'operator'}; my $value = $mapping->{'marcvalue'}; - my @subfield_values = $record->subfield($field, $subfield); + + my @all_subfield_values; + # Get all the fields with the given tag + my @fields = $record->field($field); + # Iterate over all the fields + foreach my $field ( @fields ) { + # Get the values from all the subfields with the given subfield code + if ( my @subfield_values = $field->subfield($subfield) ) { + push @all_subfield_values, @subfield_values; + } + } + if ($operator eq 'notequal') { - if(0 == grep /^$value$/, @subfield_values) { + if(0 == grep /^$value$/, @all_subfield_values) { return 1; } } else { - if(0 < grep /^$value$/, @subfield_values) { + if(0 < grep /^$value$/, @all_subfield_values) { return 1; } } --