my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
- # connect to database
- my $dbh = $form->dbconnect_noauto($myconfig);
+ SL::DB->client->with_transaction(sub {
+ do_query($form, SL::DB->client->dbh, qq|DELETE FROM gl WHERE id = ?|, conv_i($form->{id}));
+ 1;
+ }) or do { die SL::DB->client->error };
my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
}
sub all_transactions {
my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
}
sub all_transactions {
my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
my ($query, $sth, $source, $null, $space);
my ($glwhere, $arwhere, $apwhere) = ("1 = 1", "1 = 1", "1 = 1");
my ($query, $sth, $source, $null, $space);
my ($glwhere, $arwhere, $apwhere) = ("1 = 1", "1 = 1", "1 = 1");
$glwhere .= qq| AND g.reference ILIKE ?|;
$arwhere .= qq| AND a.invnumber ILIKE ?|;
$apwhere .= qq| AND a.invnumber ILIKE ?|;
$glwhere .= qq| AND g.reference ILIKE ?|;
$arwhere .= qq| AND a.invnumber ILIKE ?|;
$apwhere .= qq| AND a.invnumber ILIKE ?|;
- push(@glvalues, '%' . $form->{reference} . '%');
- push(@arvalues, '%' . $form->{reference} . '%');
- push(@apvalues, '%' . $form->{reference} . '%');
+ push(@glvalues, like($form->{reference}));
+ push(@arvalues, like($form->{reference}));
+ push(@apvalues, like($form->{reference}));
$glwhere .= " AND ac.trans_id IN (SELECT trans_id from acc_trans WHERE source ILIKE ?)";
$arwhere .= " AND ac.trans_id IN (SELECT trans_id from acc_trans WHERE source ILIKE ?)";
$apwhere .= " AND ac.trans_id IN (SELECT trans_id from acc_trans WHERE source ILIKE ?)";
$glwhere .= " AND ac.trans_id IN (SELECT trans_id from acc_trans WHERE source ILIKE ?)";
$arwhere .= " AND ac.trans_id IN (SELECT trans_id from acc_trans WHERE source ILIKE ?)";
$apwhere .= " AND ac.trans_id IN (SELECT trans_id from acc_trans WHERE source ILIKE ?)";
- push(@glvalues, '%' . $form->{source} . '%');
- push(@arvalues, '%' . $form->{source} . '%');
- push(@apvalues, '%' . $form->{source} . '%');
+ push(@glvalues, like($form->{source}));
+ push(@arvalues, like($form->{source}));
+ push(@apvalues, like($form->{source}));
}
# default Datumseinschränkung falls nicht oder falsch übergeben (sollte nie passieren)
$form->{datesort} = 'transdate' unless $form->{datesort} =~ /^(transdate|gldate)$/;
}
# default Datumseinschränkung falls nicht oder falsch übergeben (sollte nie passieren)
$form->{datesort} = 'transdate' unless $form->{datesort} =~ /^(transdate|gldate)$/;
$glwhere .= " AND ac.$form->{datesort} >= ?";
$arwhere .= " AND ac.$form->{datesort} >= ?";
$apwhere .= " AND ac.$form->{datesort} >= ?";
$glwhere .= " AND ac.$form->{datesort} >= ?";
$arwhere .= " AND ac.$form->{datesort} >= ?";
$apwhere .= " AND ac.$form->{datesort} >= ?";
- push(@glvalues, $form->{datefrom});
- push(@arvalues, $form->{datefrom});
- push(@apvalues, $form->{datefrom});
+ push(@glvalues, trim($form->{datefrom}));
+ push(@arvalues, trim($form->{datefrom}));
+ push(@apvalues, trim($form->{datefrom}));
$glwhere .= " AND ac.$form->{datesort} <= ?";
$arwhere .= " AND ac.$form->{datesort} <= ?";
$apwhere .= " AND ac.$form->{datesort} <= ?";
$glwhere .= " AND ac.$form->{datesort} <= ?";
$arwhere .= " AND ac.$form->{datesort} <= ?";
$apwhere .= " AND ac.$form->{datesort} <= ?";
- push(@glvalues, $form->{dateto});
- push(@arvalues, $form->{dateto});
- push(@apvalues, $form->{dateto});
+ push(@glvalues, trim($form->{dateto}));
+ push(@arvalues, trim($form->{dateto}));
+ push(@apvalues, trim($form->{dateto}));
$glwhere .= " AND g.description ILIKE ?";
$arwhere .= " AND ct.name ILIKE ?";
$apwhere .= " AND ct.name ILIKE ?";
$glwhere .= " AND g.description ILIKE ?";
$arwhere .= " AND ct.name ILIKE ?";
$apwhere .= " AND ct.name ILIKE ?";
- push(@glvalues, '%' . $form->{description} . '%');
- push(@arvalues, '%' . $form->{description} . '%');
- push(@apvalues, '%' . $form->{description} . '%');
+ push(@glvalues, like($form->{description}));
+ push(@arvalues, like($form->{description}));
+ push(@apvalues, like($form->{description}));
$glwhere .= " AND g.notes ILIKE ?";
$arwhere .= " AND a.notes ILIKE ?";
$apwhere .= " AND a.notes ILIKE ?";
$glwhere .= " AND g.notes ILIKE ?";
$arwhere .= " AND a.notes ILIKE ?";
$apwhere .= " AND a.notes ILIKE ?";
- push(@glvalues, '%' . $form->{notes} . '%');
- push(@arvalues, '%' . $form->{notes} . '%');
- push(@apvalues, '%' . $form->{notes} . '%');
+ push(@glvalues, like($form->{notes}));
+ push(@arvalues, like($form->{notes}));
+ push(@apvalues, like($form->{notes}));
($form->{account_description}) = selectrow_query($form, $dbh, $query, $form->{accno});
}
($form->{account_description}) = selectrow_query($form, $dbh, $query, $form->{accno});
}
my ($query, $sth, $ref, @values);
my ($query, $sth, $ref, @values);
$query = qq|SELECT closedto, revtrans FROM defaults|;
($form->{closedto}, $form->{revtrans}) = selectrow_query($form, $dbh, $query);
$query = qq|SELECT closedto, revtrans FROM defaults|;
($form->{closedto}, $form->{revtrans}) = selectrow_query($form, $dbh, $query);
ORDER BY c.accno|;
$form->{chart} = selectall_hashref_query($form, $dbh, $query, conv_date($form->{transdate}));
ORDER BY c.accno|;
$form->{chart} = selectall_hashref_query($form, $dbh, $query, conv_date($form->{transdate}));
my ($self, $form, $myconfig, $id) = @_;
my ($query, $new_id, $storno_row, $acc_trans_rows);
my ($self, $form, $myconfig, $id) = @_;
my ($query, $new_id, $storno_row, $acc_trans_rows);
$query = qq|SELECT nextval('glid')|;
($new_id) = selectrow_query($form, $dbh, $query);
$query = qq|SELECT nextval('glid')|;
($new_id) = selectrow_query($form, $dbh, $query);
do_query($form, $dbh, $query, (values %$row));
}
do_query($form, $dbh, $query, (values %$row));
}