@@ -591,11 +607,17 @@ $jsscript
$selectAR_amount = $selectAR_amount_unquoted;
$selectAR_amount =~
s/option value=\"$form->{"AR_amount_$i"}\"/option value=\"$form->{"AR_amount_$i"}\" selected/;
- $tax = $taxchart;
- $tax_selected = $form->{"taxchart_$i"};
- $tax =~ s/value=\"$tax_selected\"/value=\"$tax_selected\" selected/;
- $tax =
- qq| | | |;
+
+ $tax = qq|| .
+ $cgi->popup_menu('-name' => "taxchart_$i",
+ '-id' => "taxchart_$i",
+ '-style' => 'width:200px',
+ '-tabindex' => ($i + 10 + (($i - 1) * 8)),
+ '-values' => \@taxchart_values,
+ '-labels' => \%taxchart_labels,
+ '-default' => $form->{"taxchart_$i"})
+ . qq| | |;
+
$korrektur_checked = ($form->{"korrektur_$i"} ? 'checked' : '');
my $projectnumber =
@@ -777,6 +799,10 @@ sub form_footer {
{path}>
{login}>
{password}>
+|
+. $cgi->hidden('-name' => 'draft_id', '-default' => [$form->{draft_id}])
+. $cgi->hidden('-name' => 'draft_description', '-default' => [$form->{draft_description}])
+. qq|
|;
@@ -810,10 +836,26 @@ sub form_footer {
} else {
if ($transdate > $closedto) {
print qq||;
+ . $locale->text('Post') . qq|"> | .
+ NTI($cgi->submit('-name' => 'action', '-value' => $locale->text('Save draft'),
+ '-class' => 'submit'));
}
}
+ if ($form->{menubar}) {
+ require "$form->{path}/menu.pl";
+ &menubar;
+ }
+ # button for saving history
+ if($form->{id} ne "") {
+ print qq|
+ {id}
+ . qq|); name=history id=history value=|
+ . $locale->text('history')
+ . qq|>|;
+ }
+ # /button for saving history
print "
@@ -829,24 +871,8 @@ sub update {
my $display = shift;
- # if ($display) {
- # goto TAXCALC;
- # }
-
$form->{invtotal} = 0;
- # $form->{selectAR_amount} = $form->{AR_amount};
- # $form->{selectAR_amount} =~
- # s/value=\"$form->{AR_amountselected}\"/value=\"$form->{AR_amountselected}\" selected/;
-
- ($AR_amountaccno, $AR_amounttaxkey) =
- split(/--/, $form->{AR_amountselected});
- $form->{selecttaxchart} = $form->{taxchart};
- $form->{selecttaxchart} =~
- s/value=\"$AR_amounttaxkey--([^\"]*)\"/value=\"$AR_amounttaxkey--$1\" selected/;
-
- $form->{rate} = $1;
-
map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) }
qw(exchangerate creditlimit creditremaining);
@@ -1005,20 +1031,25 @@ sub post {
exit;
}
- ($creditaccno, $credittaxkey) = split /--/, $form->{AR_amountselected};
- ($taxkey, $NULL) = split /--/, $form->{taxchartselected};
- ($receivablesaccno, $payablestaxkey) = split /--/, $form->{ARselected};
+ my ($creditaccno, $credittaxkey) = split /--/, $form->{AR_amountselected};
+ my ($receivablesaccno, $payablestaxkey) = split /--/, $form->{ARselected};
$form->{AR}{amount_1} = $creditaccno;
$form->{AR}{receivables} = $receivablesaccno;
- $form->{taxkey} = $taxkey;
$form->{invnumber} = $form->update_defaults(\%myconfig, "invnumber")
unless $form->{invnumber};
$form->{id} = 0 if $form->{postasnew};
-
- $form->redirect($locale->text('Transaction posted!'))
- if (AR->post_transaction(\%myconfig, \%$form));
+ if (AR->post_transaction(\%myconfig, \%$form)) {
+ # saving the history
+ if(!exists $form->{addition} && $form->{id} ne "") {
+ $form->{addition} = "POSTED";
+ $form->save_history($form->dbconnect(\%myconfig));
+ }
+ # /saving the history
+ remove_draft() if $form->{remove_draft};
+ $form->redirect($locale->text('Transaction posted!'));
+ }
$form->error($locale->text('Cannot post transaction!'));
$lxdebug->leave_sub();
@@ -1028,6 +1059,12 @@ sub post_as_new {
$lxdebug->enter_sub();
$form->{postasnew} = 1;
+ # saving the history
+ if(!exists $form->{addition} && $form->{id} ne "") {
+ $form->{addition} = "POSTED AS NEW";
+ $form->save_history($form->dbconnect(\%myconfig));
+ }
+ # /saving the history
&post;
$lxdebug->leave_sub();
@@ -1085,9 +1122,15 @@ sub delete {
sub yes {
$lxdebug->enter_sub();
-
- $form->redirect($locale->text('Transaction deleted!'))
- if (AR->delete_transaction(\%myconfig, \%$form, $spool));
+ if (AR->delete_transaction(\%myconfig, \%$form, $spool)) {
+ # saving the history
+ if(!exists $form->{addition}) {
+ $form->{addition} = "DELETED";
+ $form->save_history($form->dbconnect(\%myconfig));
+ }
+ # /saving the history
+ $form->redirect($locale->text('Transaction deleted!'));
+ }
$form->error($locale->text('Cannot delete transaction!'));
$lxdebug->leave_sub();