X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=bin%2Fmozilla%2Fcp.pl;h=888bf8a9f5669de2fdec483f375780eeb5c071d7;hb=51a0ea44fe475a940f9300326d3a29a44db123fe;hp=5fbf7c0a2f96a36f56326170038a2270a53eae82;hpb=075bd42af8885aee3c18fe055a2c82b8b43f4cea;p=kivitendo-erp.git
diff --git a/bin/mozilla/cp.pl b/bin/mozilla/cp.pl
index 5fbf7c0a2..888bf8a9f 100644
--- a/bin/mozilla/cp.pl
+++ b/bin/mozilla/cp.pl
@@ -72,12 +72,12 @@ sub payment {
# für bugfix 1771 (doppelte Leerzeichen werden nicht 'gepostet')
$form->{"select$form->{vc}"} = "";
- $form->{selectcustomer} .= "\n" if $form->{vc} eq "customer";
-
if ($form->{"all_$form->{vc}"}) {
+ $form->{"select$form->{vc}"} .= "\n";
# s.o. jb 12.10.2010
$form->{"$form->{vc}_id"} = $form->{"all_$form->{vc}"}->[0]->{id};
- map { $form->{"select$form->{vc}"} .= "\n" }
+ # hotfix for 2450. TODO remove legacy code and use L
+ map { $form->{"select$form->{vc}"} .= "\n" }
@{ $form->{"all_$form->{vc}"} };
}
CP->paymentaccounts(\%myconfig, \%$form);
@@ -109,10 +109,9 @@ sub payment {
# geben und hier reinparsen, oder besser multibox oder html auslagern?
# Antwort: form->currency wird mit oldcurrency oder curr[0] überschrieben
# Wofür macht das Sinn?
- @curr = split(/:/, $form->{currencies});
- chomp $curr[0];
+ @curr = $form->get_all_currencies();
$form->{defaultcurrency} = $form->{currency} = $form->{oldcurrency} =
- $curr[0];
+ $form->get_default_currency(\%myconfig);
# Entsprechend präventiv die Auswahlliste für Währungen
# auch mit value= zusammenbauen (s.a. oben bugfix 1771)
@@ -139,7 +138,7 @@ sub form_header {
# sometimes it happens that values in customer arrive without the signs '--'
# but in order to select the right option field we need values with '--'
- if ($form->{vc} eq "customer"){
+ if ($form->{vc} eq "customer" && $form->{"all_$form->{vc}"}){
my ($customername) = split /--/, $form->{ $form->{vc} };
$form->{ $form->{vc} } = $customername . "--" . $form->{customer_id};
}
@@ -149,6 +148,7 @@ sub form_header {
#
# offen: $form->{ARAP} kann raus?
for my $item ($form->{vc}, "account", "currency", $form->{ARAP}) {
+ $form->{$item} = H($form->{$item});
$form->{"select$item"} =~ s/ selected//;
$form->{"select$item"} =~ s/option value="\Q$form->{$item}\E">\Q$form->{$item}\E/option selected value="$form->{$item}">$form->{$item}/;
}
@@ -464,14 +464,11 @@ sub check_form {
$form->error($locale->text('Date missing!')) unless $form->{datepaid};
my $selected_check = 1;
for my $i (1 .. $form->{rowcount}) {
- if ($form->{"checked_$i"}) {
- if ($form->parse_amount(\%myconfig, $form->{"paid_$i"}, 2) <= 0) { # negativen Betrag eingegeben
- $form->error($locale->text('Amount has to be greater then zero! Wrong row number: ') . $i);
- }
- undef($selected_check);
- # last; # ich muss doch über alle buchungen laufen, da ich noch
- # die freitext-eingabe der werte prüfen will
+ next unless $form->{"checked_$i"};
+ if (abs($form->parse_amount(\%myconfig, $form->{"paid_$i"}, 2)) < 0.01) {
+ $form->error($locale->text('Row #1: amount has to be different from zero.', $i));
}
+ undef $selected_check;
}
$form->error($locale->text('No transaction selected!')) if $selected_check;