summaryrefslogtreecommitdiff
path: root/LedgerSMB/AM.pm
diff options
context:
space:
mode:
Diffstat (limited to 'LedgerSMB/AM.pm')
-rw-r--r--LedgerSMB/AM.pm13
1 files changed, 9 insertions, 4 deletions
diff --git a/LedgerSMB/AM.pm b/LedgerSMB/AM.pm
index 79207304..9b1081eb 100644
--- a/LedgerSMB/AM.pm
+++ b/LedgerSMB/AM.pm
@@ -2021,8 +2021,11 @@ sub save_taxes {
# connect to database
my $dbh = $form->{dbh};
- my $query = qq|DELETE FROM tax|;
- $dbh->do($query) || $form->dberror($query);
+ my $query = qq|
+ UPDATE tax
+ SET validto = (now())::date
+ WHERE chart_id = ?|;
+ my $update_sth = $dbh->prepare($query) || $form->dberror($query);
$query = qq|
INSERT INTO tax (chart_id, rate, taxnumber, validto,
@@ -2036,11 +2039,13 @@ sub save_taxes {
$form->parse_amount( $myconfig, $form->{"taxrate_$i"} ) / 100;
my $validto = $form->{"validto_$i"};
$validto = undef if not $validto;
+
my @queryargs = (
- $chart_id, $rate, $form->{"taxnumber_$i"},
- $validto, $form->{"pass_$i"}, $form->{"taxmodule_id_$i"}
+ $chart_id, $rate, $form->{"taxnumber_$i"}, $validto,
+ $form->{"pass_$i"}, $form->{"taxmodule_id_$i"}
);
+ $update_sth->execute($chart_id) || $form->dberror($query);
$sth->execute(@queryargs) || $form->dberror($query);
}