View | Details | Raw Unified | Return to bug 24531
Collapse All | Expand All

(-)a/C4/OAI/Sets.pm (-4 / +14 lines)
Lines 541-554 sub _evalRule { Link Here
541
    my $subfield = $mapping->{'marcsubfield'};
541
    my $subfield = $mapping->{'marcsubfield'};
542
    my $operator = $mapping->{'operator'};
542
    my $operator = $mapping->{'operator'};
543
    my $value = $mapping->{'marcvalue'};
543
    my $value = $mapping->{'marcvalue'};
544
    my @subfield_values = $record->subfield($field, $subfield);
544
545
    my @all_subfield_values;
546
    # Get all the fields with the given tag
547
    my @fields = $record->field($field);
548
    # Iterate over all the fields
549
    foreach my $field ( @fields ) {
550
        # Get the values from all the subfields with the given subfield code
551
        if ( my @subfield_values = $field->subfield($subfield) ) {
552
            push @all_subfield_values, @subfield_values;
553
        }
554
    }
555
545
    if ($operator eq 'notequal') {
556
    if ($operator eq 'notequal') {
546
        if(0 == grep /^$value$/, @subfield_values) {
557
        if(0 == grep /^$value$/, @all_subfield_values) {
547
            return 1;
558
            return 1;
548
        }
559
        }
549
    }
560
    }
550
    else {
561
    else {
551
        if(0 < grep /^$value$/, @subfield_values) {
562
        if(0 < grep /^$value$/, @all_subfield_values) {
552
            return 1;
563
            return 1;
553
        }
564
        }
554
    }
565
    }
555
- 

Return to bug 24531