Reportgenerator: optionale table class und hr aus table genommen
[kivitendo-erp.git] / SL / CVar.pm
index d023081..b15f82b 100644 (file)
@@ -402,7 +402,7 @@ sub build_filter_query {
 
       $not = 'NOT' if ($params{filter}->{$name} eq 'no');
       push @sub_where,  qq|COALESCE(cvar.bool_value, false) = TRUE|;
-    } elsif (any { $config->{type} eq $_ } qw(customer vendor part)) {
+    } elsif (any { $config->{type} eq $_ } qw(customer vendor)) {
       next unless $params{filter}->{$name};
 
       my $table = $config->{type};
@@ -562,8 +562,8 @@ sub save_custom_variables_validity {
   my $sth = prepare_query($form, $dbh, $query);
 
   unless ($params{validity}) {
-    foreach my $config_id (listify $params{config_id}) {
-      foreach my $trans_id (listify $params{trans_id}) {
+    foreach my $config_id (listify($params{config_id})) {
+      foreach my $trans_id (listify($params{trans_id})) {
         do_statement($form, $sth, $query, conv_i($config_id), conv_i($trans_id));
       }
     }
@@ -589,7 +589,7 @@ sub get_custom_variables_validity {
 
   my $dbh      = $params{dbh} || $form->get_standard_dbh($myconfig);
 
-  my $query    = qq|SELECT COUNT(*) FROM custom_variables_validity WHERE config_id = ? AND trans_id = ?|;
+  my $query    = qq|SELECT id FROM custom_variables_validity WHERE config_id = ? AND trans_id = ? LIMIT 1|;
 
   my ($invalid) = selectfirst_array_query($form, $dbh, $query, conv_i($params{config_id}), conv_i($params{trans_id}));
 
@@ -611,9 +611,9 @@ sub custom_variables_validity_by_trans_id {
 
   my $dbh      = $params{dbh} || $form->get_standard_dbh($myconfig);
 
-  my $query    = qq|SELECT config_id, COUNT(*) FROM custom_variables_validity WHERE trans_id = ? GROUP BY config_id|;
+  my $query    = qq|SELECT DISTINCT config_id FROM custom_variables_validity WHERE trans_id = ?|;
 
-  my %invalids = selectall_as_map($form, $dbh, $query, 'config_id', 'count', $params{trans_id});
+  my %invalids = map { +($_->{config_id} => 1) } selectall_hashref_query($form, $dbh, $query, $params{trans_id});
 
   $main::lxdebug->leave_sub(2);