use SL::DB::Printer;
use SL::DB::Language;
use SL::TransNumber;
+use SL::Util qw(trim);
use strict;
} elsif ($form->{customer}) {
$where .= qq| AND (ct.name ILIKE ?)|;
- push(@values, '%' . $form->{customer} . '%');
+ push(@values, like($form->{customer}));
}
my %columns = (
foreach my $key (keys(%columns)) {
next unless ($form->{$key});
$where .= qq| AND $columns{$key} ILIKE ?|;
- push(@values, '%' . $form->{$key} . '%');
+ push(@values, like($form->{$key}));
}
if ($form->{dunning_level}) {
$form->{minamount} = $form->parse_amount($myconfig,$form->{minamount});
if ($form->{minamount}) {
$where .= qq| AND ((a.amount - a.paid) > ?) |;
- push(@values, $form->{minamount});
+ push(@values, trim($form->{minamount}));
}
my $query =
WHERE dunning_level = (SELECT MAX(dunning_level) FROM dunning_config)|;
my ($id_for_max_dunning_level) = selectrow_query($form, $dbh, $query);
+ if (!$form->{l_include_direct_debit}) {
+ $where .= qq| AND NOT COALESCE(a.direct_debit, FALSE) |;
+ }
+
$query =
qq|SELECT
- a.id, a.ordnumber, a.transdate, a.invnumber, a.amount, a.language_id,
+ a.id, a.invoice, a.ordnumber, a.transdate, a.invnumber, a.amount, a.language_id,
ct.name AS customername, a.customer_id, a.duedate,
a.amount - a.paid AS open_amount,
+ a.direct_debit,
cfg.dunning_description, cfg.dunning_level,
} elsif ($form->{customer}) {
$where .= qq| AND (ct.name ILIKE ?)|;
- push(@values, '%' . $form->{customer} . '%');
+ push(@values, like($form->{customer}));
}
my %columns = (
foreach my $key (keys(%columns)) {
next unless ($form->{$key});
$where .= qq| AND $columns{$key} ILIKE ?|;
- push(@values, '%' . $form->{$key} . '%');
+ push(@values, like($form->{$key}));
}
if ($form->{dunning_level}) {