}
sub get_tax_dropdown {
+ my ($self, $accno) = @_;
+
my $myconfig = \%main::myconfig;
my $form = $main::form;
my $dbh = $form->get_standard_dbh($myconfig);
my $query = qq|SELECT category FROM chart WHERE accno = ?|;
- my ($category) = selectrow_query($form, $dbh, $query, $form->{accno});
+ my ($category) = selectrow_query($form, $dbh, $query, $accno);
$query = qq|SELECT * FROM tax WHERE chart_categories like '%$category%' order by taxkey, rate|;
my $sth = prepare_execute_query($form, $dbh, $query);
- $form->{TAX_ACCOUNTS} = [];
+ my @tax_accounts = ();
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
- push(@{ $form->{TAX_ACCOUNTS} }, $ref);
+ push(@tax_accounts, $ref);
}
+ return @tax_accounts;
}
1;
$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}) {
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)) {
"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};
}
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();