Revision eb8bed3f
Von Moritz Bunkus vor mehr als 17 Jahren hinzugefügt
bin/mozilla/ar.pl | ||
---|---|---|
1019 | 1019 |
sub post_payment { |
1020 | 1020 |
$lxdebug->enter_sub(); |
1021 | 1021 |
for $i (1 .. $form->{paidaccounts}) { |
1022 |
if ($form->{"paid_$i"}) {
|
|
1022 |
if ($form->parse_amount(\%myconfig, $form->{"paid_$i"})) {
|
|
1023 | 1023 |
$datepaid = $form->datetonum($form->{"datepaid_$i"}, \%myconfig); |
1024 | 1024 |
|
1025 | 1025 |
$form->isblank("datepaid_$i", $locale->text('Payment date missing!')); |
1026 | 1026 |
|
1027 |
$form->error($locale->text('Zero amount posting!')) if !$form->parse_amount(\%myconfig, $form->{amount}); |
|
1028 | 1027 |
$form->error($locale->text('Cannot post payment for a closed period!')) |
1029 | 1028 |
if ($datepaid <= $closedto); |
1030 | 1029 |
|
... | ... | |
1057 | 1056 |
|
1058 | 1057 |
$closedto = $form->datetonum($form->{closedto}, \%myconfig); |
1059 | 1058 |
$transdate = $form->datetonum($form->{transdate}, \%myconfig); |
1059 |
$form->error($locale->text('Cannot post transaction for a closed period!')) if ($transdate <= $closedto); |
|
1060 |
|
|
1061 |
my $zero_amount_posting = 1; |
|
1062 |
for $i (1 .. $form->{rowcount}) { |
|
1063 |
if ($form->parse_amount(\%myconfig, $form->{"amount_$i"})) { |
|
1064 |
$zero_amount_posting = 0; |
|
1065 |
last; |
|
1066 |
} |
|
1067 |
} |
|
1060 | 1068 |
|
1061 |
$form->error($locale->text('Zero amount posting!')) if !$form->parse_amount(\%myconfig, $form->{amount}); |
|
1062 |
$form->error($locale->text('Cannot post transaction for a closed period!')) |
|
1063 |
if ($transdate <= $closedto); |
|
1069 |
$form->error($locale->text('Zero amount posting!')) if $zero_amount_posting; |
|
1064 | 1070 |
|
1065 | 1071 |
$form->isblank("exchangerate", $locale->text('Exchangerate missing!')) |
1066 | 1072 |
if ($form->{currency} ne $form->{defaultcurrency}); |
... | ... | |
1073 | 1079 |
|
1074 | 1080 |
$form->isblank("datepaid_$i", $locale->text('Payment date missing!')); |
1075 | 1081 |
|
1076 |
$form->error($locale->text('Zero amount posting!')) if !$form->parse_amount(\%myconfig, $form->{"amount_$i"}); |
|
1077 | 1082 |
$form->error($locale->text('Cannot post payment for a closed period!')) |
1078 | 1083 |
if ($datepaid <= $closedto); |
1079 | 1084 |
|
Auch abrufbar als: Unified diff
Die Überprüfungen, ob eine Nullbuchung vom Benutzer durchgeführt wurde, war falsch -- sie überprüfte falsche Variablen und auch falsche Umstände. Außerdem werden die einzelnen Zeilen der Zahlungsein- und -ausgänge eh schon vorher mit if() abgefragt. Fix für Bug 651.