# für bugfix 1771 (doppelte Leerzeichen werden nicht 'gepostet')
$form->{"select$form->{vc}"} = "";
- $form->{selectcustomer} .= "<option value=\"\"></option>\n" if $form->{vc} eq "customer";
-
if ($form->{"all_$form->{vc}"}) {
+ $form->{"select$form->{vc}"} .= "<option value=\"\"></option>\n";
# s.o. jb 12.10.2010
$form->{"$form->{vc}_id"} = $form->{"all_$form->{vc}"}->[0]->{id};
map { $form->{"select$form->{vc}"} .= "<option value=\"$_->{name}--$_->{id}\">$_->{name}--$_->{id}</option>\n" }
# 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)
$auth->assert('cash');
my ($vc, $arap, $exchangerate);
- my ($onload);
if ($form->{ $form->{vc} } eq "") {
map { $form->{"addr$_"} = "" } (1 .. 4);
# 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};
}
$form->header;
$arap = lc $form->{ARAP};
- $onload = qq|focus()|;
print $::form->parse_html_template('cp/form_header', {
is_customer => $form->{vc} eq 'customer',
is_receipt => $form->{type} eq 'receipt',
- onload => $onload,
arap => $arap,
vccontent => $vc,
});
$updated = &check_name($form->{vc});
};
- if ($new_name_selected || $updated) {
+ # if ($new_name_selected || $updated) {
# get open invoices from ar/ap using $form->{vc} and a.${vc}_id, i.e. customer_id
CP->get_openinvoices(\%myconfig, \%$form);
($newvc) = split /--/, $form->{ $form->{vc} };
$form->{"old$form->{vc}"} = qq|$newvc--$form->{"$form->{vc}_id"}|;
$updated = 1;
- }
+ # }
if ($form->{currency} ne $form->{oldcurrency}) {
$form->{oldcurrency} = $form->{currency};
$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;