use SL::IS;
use SL::PE;
use SL::ReportGenerator;
+use SL::DBUtils qw(selectrow_query selectall_hashref_query);
require "bin/mozilla/common.pl";
-require "bin/mozilla/drafts.pl";
require "bin/mozilla/reportgenerator.pl";
# this is for our long dates
my $form = $main::form;
my %myconfig = %main::myconfig;
- return $main::lxdebug->leave_sub() if (load_draft_maybe());
-
$form->{title} = "Add";
$form->{callback} = "gl.pl?action=add" unless $form->{callback};
$form->{totalcredit} += $ref->{amount};
$form->{"credit_$i"} = $ref->{amount};
}
- $form->{"taxchart_$i"} = "0--0.00";
+ $form->{"taxchart_$i"} = $ref->{id}."--0.00000";
$form->{"project_id_$i"} = $ref->{project_id};
$i++;
}
# add employee here, so that variable is still known and passed in url when choosing a different sort order in resulting table
my @hidden_variables = qw(accno source reference department description notes project_id datefrom dateto employee_id datesort category l_subtotal);
push @hidden_variables, map { "l_${_}" } @columns;
- foreach ( @hidden_variables ) {
- print URL "$_\n";
- };
my $employee = $form->{employee_id} ? SL::DB::Employee->new(id => $form->{employee_id})->load->name : '';
my $callback = build_std_url('action=generate_report', grep { $form->{$_} } @hidden_variables);
- print URL $callback;
- close URL;
$form->{l_credit_accno} = 'Y';
$form->{l_debit_accno} = 'Y';
my $creditcount = 0;
my ($debitcredit, $amount);
+ my $dbh = SL::DB->client->dbh;
+ my ($notax_id) = selectrow_query($form, $dbh, "SELECT id FROM tax WHERE taxkey = 0 LIMIT 1", );
+ my $zerotaxes = selectall_hashref_query($form, $dbh, "SELECT id FROM tax WHERE rate = 0", );
+
my @flds =
qw(accno debit credit projectnumber fx_transaction source memo tax taxchart);
$form->{debitlock} = 1;
}
if ($debitcredit && $credittax) {
- $form->{"taxchart_$i"} = "0--0.00";
+ $form->{"taxchart_$i"} = "$notax_id--0.00";
}
if (!$debitcredit && $debittax) {
- $form->{"taxchart_$i"} = "0--0.00";
+ $form->{"taxchart_$i"} = "$notax_id--0.00";
}
$amount =
($form->{"debit_$i"} == 0)
: $form->{"debit_$i"};
my $j = $#a;
if (($debitcredit && $credittax) || (!$debitcredit && $debittax)) {
- $form->{"taxchart_$i"} = "0--0.00";
+ $form->{"taxchart_$i"} = "$notax_id--0.00";
$form->{"tax_$i"} = 0;
}
my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"});
- if ($taxkey > 1) {
+ my $iswithouttax = grep { $_->{id} == $taxkey } @{ $zerotaxes };
+ if (!$iswithouttax) {
if ($debitcredit) {
$debittax = 1;
} else {
my ($follow_ups, $follow_ups_due);
if ($::form->{id}) {
- $follow_ups = FU->follow_ups('trans_id' => $::form->{id});
+ $follow_ups = FU->follow_ups('trans_id' => $::form->{id}, 'not_done' => 1);
$follow_ups_due = sum map { $_->{due} * 1 } @{ $follow_ups || [] };
}
my $debitcredit;
my %split_safety = ();
- my $dbh = $form->dbconnect_noauto(\%myconfig);
+ my $dbh = SL::DB->client->dbh;
my ($notax_id) = selectrow_query($form, $dbh, "SELECT id FROM tax WHERE taxkey = 0 LIMIT 1", );
- $dbh->disconnect;
+ my $zerotaxes = selectall_hashref_query($form, $dbh, "SELECT id FROM tax WHERE rate = 0", );
my @flds = qw(accno debit credit projectnumber fx_transaction source memo tax taxchart);
$form->{"tax_$i"} = 0;
}
my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"});
- if ($taxkey > 1) {
+ my $iswithouttax = grep { $_->{id} == $taxkey } @{ $zerotaxes };
+ if (!$iswithouttax) {
if ($debitcredit) {
$debittax = 1;
} else {
post_transaction();
- remove_draft() if $form->{remove_draft};
-
- $form->{callback} = build_std_url("action=add&DONT_LOAD_DRAFT=1", "show_details");
+ $form->{callback} = build_std_url("action=add", "show_details");
$form->redirect($form->{callback});
$main::lxdebug->leave_sub();