X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fgl.pl;h=e66376bfd4481fdcad7491b4b568f69132ae4da8;hb=a3053fa7958da91dd3ba509bae4bfd13726ca3f2;hp=89359ad40185efdc735f73eb3924d6098ebf629f;hpb=e112111e80aafcd8f3c86b4ba2a5c5fe3db4b5c2;p=kivitendo-erp.git
diff --git a/bin/mozilla/gl.pl b/bin/mozilla/gl.pl
index 89359ad40..e66376bfd 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', {
@@ -594,14 +594,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 +678,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 +701,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 +738,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 +862,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 +962,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 +1063,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 +1134,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 +1204,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 +1221,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();