PriceRule: filter reset sollte auch dropdowns resetten
[kivitendo-erp.git] / SL / DB / Manager / PriceRule.pm
index 09e588b..e94fd15 100644 (file)
@@ -27,8 +27,7 @@ sub get_matching_filter {
   my $type = $params{record}->is_sales ? 'customer' : 'vendor';
 
   # plan: 1. search all rule_items that do NOT match this record/record item combo
-  my ($sub_where, @value_subs) = SL::DB::Manager::PriceRuleItem->not_matching_sql_and_values(type => $type);
-  my @values = map { $_->($params{record}, $params{record_item}) } @value_subs;
+  my ($sub_where, @values) = SL::DB::Manager::PriceRuleItem->not_matching_sql_and_values(type => $type, %params);
 
   # now union all NOT matching, invert ids, load these
   my $matching_rule_ids = <<SQL;
@@ -50,6 +49,8 @@ sub get_all_matching {
   my ($query, @values) = $self->get_matching_filter(%params);
   my @ids = selectall_ids($::form, $::form->get_standard_dbh, $query, 0, @values);
 
+  return [] unless @ids;
+
   $self->get_all(query => [ id => \@ids ]);
 }