package GL;
+use Data::Dumper;
+
sub delete_transaction {
my ($self, $myconfig, $form) = @_;
$main::lxdebug->enter_sub();
$apwhere .= " AND c.gifi_accno = '$form->{gifi_accno}'";
}
if ($form->{category} ne 'X') {
- $glwhere .= " AND c.category = '$form->{category}'";
- $arwhere .= " AND c.category = '$form->{category}'";
- $apwhere .= " AND c.category = '$form->{category}'";
+ $glwhere .= " AND gl.id in (SELECT trans_id FROM acc_trans ac2 WHERE ac2.chart_id IN (SELECT id FROM chart c2 WHERE c2.category = '$form->{category}'))";
+ $arwhere .= " AND ar.id in (SELECT trans_id FROM acc_trans ac2 WHERE ac2.chart_id IN (SELECT id FROM chart c2 WHERE c2.category = '$form->{category}'))";
+ $apwhere .= " AND ap.id in (SELECT trans_id FROM acc_trans ac2 WHERE ac2.chart_id IN (SELECT id FROM chart c2 WHERE c2.category = '$form->{category}'))";
}
if ($form->{accno}) {
my $false = ($myconfig->{dbdriver} eq 'Pg') ? FALSE: q|'0'|;
+ my $sortorder = join ', ', $form->sort_columns(qw(transdate reference source description accno));
+ my %ordinal = ( transdate => 6,
+ reference => 4,
+ source => 7,
+ description => 5 );
+ map { $sortorder =~ s/$_/$ordinal{$_}/ } keys %ordinal;
+
+ if ($form->{sort}) {
+ $sortorder = $form->{sort} . ",";
+ } else {
+ $sortorder = "";
+ }
+
my $query =
qq|SELECT g.id, 'gl' AS type, $false AS invoice, g.reference, ac.taxkey, t.taxkey AS sorttax,
g.description, ac.transdate, ac.source, ac.trans_id,
AND ac.chart_id = c.id
AND a.vendor_id = ct.id
AND a.id = ac.trans_id
- ORDER BY transdate, trans_id, taxkey DESC, sorttax DESC, oid|;
+ ORDER BY $sortorder transdate, trans_id, taxkey DESC, sorttax DESC,oid|;
my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
my $trans_id = "";
($form->{gifi_account_description}) = $sth->fetchrow_array;
$sth->finish;
}
+ print(STDERR Dumper($form->{GL}));
$main::lxdebug->leave_sub();
$dbh->disconnect;