X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fgl.pl;h=026cf6a01db7871ee155d2be441bf0c15a93752e;hb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44;hp=89359ad40185efdc735f73eb3924d6098ebf629f;hpb=e112111e80aafcd8f3c86b4ba2a5c5fe3db4b5c2;p=kivitendo-erp.git diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl index 89359ad40..026cf6a01 100644 --- a/bin/mozilla/gl.pl +++ b/bin/mozilla/gl.pl @@ -218,7 +218,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 +306,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 +329,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'; @@ -594,14 +589,9 @@ sub update { } 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++; @@ -683,17 +673,6 @@ sub display_rows { $charts{$item->{accno}} = $item; } - my %taxchart_labels = (); - my @taxchart_values = (); - my %taxcharts = (); - foreach my $item (@{ $form->{TAX_ACCOUNTS} }) { - my $key = $item->{id} . "--" . $item->{rate}; - $taxchart_init = $key if ($taxchart_init == $item->{id}); - push(@taxchart_values, $key); - $taxchart_labels{$key} = $item->{taxdescription} . " " . $item->{rate} * 100 . ' %'; - $taxcharts{$item->{id}} = $item; - } - my ($source, $memo, $source_hidden, $memo_hidden); for my $i (1 .. $form->{rowcount}) { if ($form->{show_details}) { @@ -717,6 +696,20 @@ sub display_rows { my ($selected_accno, $selected_tax_id) = split(/--/, $selected_accno_full); my ($previous_accno, $previous_tax_id) = split(/--/, $form->{"previous_accno_$i"}); + my %taxchart_labels = (); + my @taxchart_values = (); + my %taxcharts = (); + my $filter_accno; + $filter_accno = $::form->{ALL_CHARTS}[0]->{accno}; + $filter_accno = $selected_accno if (!$init and $i < $form->{rowcount}); + foreach my $item ( GL->get_tax_dropdown($filter_accno) ) { + my $key = $item->{id} . "--" . $item->{rate}; + $taxchart_init = $key if ($taxchart_init == $item->{id}); + push(@taxchart_values, $key); + $taxchart_labels{$key} = $item->{taxdescription} . " " . $item->{rate} * 100 . ' %'; + $taxcharts{$item->{id}} = $item; + } + if ($previous_accno && ($previous_accno eq $selected_accno) && ($previous_tax_id ne $selected_tax_id)) { @@ -740,11 +733,11 @@ sub display_rows { . qq||; my $tax_ddbox = qq|| . NTI($cgi->popup_menu('-name' => "taxchart_$i", - '-id' => "taxchart_$i", - '-style' => 'width:200px', - '-values' => \@taxchart_values, - '-labels' => \%taxchart_labels, - '-default' => $selected_taxchart)) + '-id' => "taxchart_$i", + '-style' => 'width:200px', + '-values' => \@taxchart_values, + '-labels' => \%taxchart_labels, + '-default' => $selected_taxchart)) . qq||; my ($fx_transaction, $checked); @@ -864,9 +857,6 @@ sub form_header { "charts" => { "key" => "ALL_CHARTS", "transdate" => $::form->{transdate} }); - $::form->{accno} = $::form->{ALL_CHARTS}[0]->{accno}; - GL->get_tax_dropdown(); - GL->get_chart_balances('charts' => $::form->{ALL_CHARTS}); my $title = $::form->{title}; @@ -967,8 +957,9 @@ sub yes { if (GL->delete_transaction(\%myconfig, \%$form)){ # saving the history if(!exists $form->{addition} && $form->{id} ne "") { - $form->{snumbers} = qq|glnumber_| . $form->{id}; + $form->{snumbers} = qq|gltransaction_| . $form->{id}; $form->{addition} = "DELETED"; + $form->{what_done} = "gl_transaction"; $form->save_history; } # /saving the history @@ -1067,16 +1058,15 @@ sub post_transaction { } else { $credittax = 1; } - if ($form->{taxincluded}) { - $form->{"tax_$i"} = $amount / ($rate + 1) * $rate; - if ($debitcredit) { - $form->{"debit_$i"} = $form->{"debit_$i"} - $form->{"tax_$i"}; - } else { - $form->{"credit_$i"} = $form->{"credit_$i"} - $form->{"tax_$i"}; - } + + my ($tmpnetamount,$tmpdiff); + ($tmpnetamount,$form->{"tax_$i"},$tmpdiff) = $form->calculate_tax($amount,$rate,$form->{taxincluded} *= 1,2); + if ($debitcredit) { + $form->{"debit_$i"} = $tmpnetamount; } else { - $form->{"tax_$i"} = $amount * $rate; + $form->{"credit_$i"} = $tmpnetamount; } + } else { $form->{"tax_$i"} = 0; } @@ -1139,11 +1129,10 @@ sub post_transaction { } undef($form->{callback}); # saving the history - if(!exists $form->{addition} && $form->{id} ne "") { - $form->{snumbers} = qq|glnumber_| . $form->{id}; - $form->{addition} = "SAVED"; - $form->{what_done} = $locale->text("Buchungsnummer") . " = " . $form->{id}; + $form->{snumbers} = qq|gltransaction_| . $form->{id}; + $form->{addition} = "POSTED"; + $form->{what_done} = "gl transaction"; $form->save_history; } # /saving the history @@ -1210,8 +1199,9 @@ sub storno { # saving the history if(!exists $form->{addition} && $form->{id} ne "") { - $form->{snumbers} = "glnumber_$form->{id}"; + $form->{snumbers} = qq|gltransaction_| . $form->{id}; $form->{addition} = "STORNO"; + $form->{what_done} = "gl_transaction"; $form->save_history; } # /saving the history @@ -1226,16 +1216,18 @@ sub continue { } sub get_tax_dropdown { + $main::lxdebug->enter_sub(); my $form = $main::form; - $main::lxdebug->enter_sub(); - GL->get_tax_dropdown(); + my @tax_accounts = GL->get_tax_dropdown($form->{accno}); - foreach my $item (@{ $form->{TAX_ACCOUNTS} }) { + foreach my $item (@tax_accounts) { $item->{taxdescription} = $::locale->{iconv_utf8}->convert($item->{taxdescription}); $item->{taxdescription} .= ' ' . $form->round_amount($item->{rate} * 100); } + $form->{TAX_ACCOUNTS} = [ @tax_accounts ]; + print $form->ajax_response_header, $form->parse_html_template("gl/update_tax_accounts"); $main::lxdebug->leave_sub();