X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fgl.pl;h=ea94a28be8807414893b1523b7272c152aad67b4;hb=34035b33f21af21316df798b19f2a758aa86b3a8;hp=78be01c3de78cb67f56a83cff7239470e850d73c;hpb=affafa23d66a18e409ac424f6e27f0f1b4008725;p=kivitendo-erp.git diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl index 78be01c3d..ea94a28be 100644 --- a/bin/mozilla/gl.pl +++ b/bin/mozilla/gl.pl @@ -42,9 +42,9 @@ use SL::GL; 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 @@ -83,8 +83,6 @@ sub add { 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}; @@ -167,7 +165,7 @@ sub prepare_transaction { $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++; } @@ -218,7 +216,7 @@ sub search { $::form->get_lists( projects => { key => "ALL_PROJECTS", all => 1 }, ); - $::form->{ALL_EMPLOYEES} = SL::DB::Manager::Employee->get_all(query => [ deleted => 0 ]); + $::form->{ALL_EMPLOYEES} = SL::DB::Manager::Employee->get_all_sorted(query => [ deleted => 0 ]); $::form->header; print $::form->parse_html_template('gl/search', { @@ -306,9 +304,6 @@ sub generate_report { # 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 : ''; @@ -332,8 +327,6 @@ sub generate_report { 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'; @@ -535,6 +528,10 @@ sub update { 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); @@ -573,10 +570,10 @@ sub update { $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) @@ -584,24 +581,20 @@ sub update { : $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 { $credittax = 1; } - if ($form->{taxincluded}) { - $form->{"tax_$i"} = $amount / ($rate + 1) * $rate; - } else { - $form->{"tax_$i"} = $amount * $rate; - } - } else { - $form->{"tax_$i"} = 0; - } + }; + my ($tmpnetamount,$tmpdiff); + ($tmpnetamount,$form->{"tax_$i"},$tmpdiff) = $form->calculate_tax($amount,$rate,$form->{taxincluded} *= 1,2); for (@flds) { $a[$j]->{$_} = $form->{"${_}_$i"} } $count++; @@ -743,11 +736,11 @@ sub display_rows { . qq||; my $tax_ddbox = qq|