}
$form->{"old$form->{vc}"} = $form->{$form->{vc}};
- $form->{"old$form->{vc}"} .= qq|--$form->{"$form->{vc}_id"}| unless ($form->{"old$form->{vc}"} =~ m/--\d+$/);
+
+ if ($form->{"old$form->{vc}"} !~ m/--\d+$/ && $form->{"$form->{vc}_id"}) {
+ $form->{"old$form->{vc}"} .= qq|--$form->{"$form->{vc}_id"}|
+ }
$lxdebug->leave_sub();
}
$form->header();
- print $form->parse_html_template('oe/search');
+ print $form->parse_html_template('oe/search', { %myconfig });
$lxdebug->leave_sub();
}
$ordnumber = ($form->{type} =~ /_order$/) ? "ordnumber" : "quonumber";
- ($form->{ $form->{vc} }, $form->{"${form->{vc}}_id"}) = split(/--/, $form->{ $form->{vc} });
+ ($form->{ $form->{vc} }, $form->{"$form->{vc}_id"}) = split(/--/, $form->{ $form->{vc} });
report_generator_set_default_sort('transdate', 1);
require "bin/mozilla/$form->{script}";
- map { $form->{"select$_"} = "" } ($form->{vc}, currency);
+ map { $form->{"select$_"} = "" } ($form->{vc}, "currency");
$currency = $form->{currency};
&invoice_links;
ordnumber);
for $i (1 .. $form->{rowcount}) {
- map { $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if ($form->{"${_}_${i}"}) } qw(ship qty sellprice listprice basefactor);
+ map { $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if ($form->{"${_}_${i}"}) } qw(ship qty sellprice listprice basefactor discount);
}
my %saved_vars = map { $_ => $form->{$_} } grep { $form->{$_} } qw(currency);
&prepare_order;
+ # prepare_order assumes that the discount is in db-notation (0.05) and not user-notation (5)
+ # and therefore multiplies the values by 100 in the case of reading from db or making an order from several quotation, so we convert this back into percent-notation for the user interface by multiplying with 0.01
+ for $i (1 .. $form->{rowcount}) {
+ $form->{"discount_$i"} = $form->format_amount(\%myconfig, $form->{"discount_$i"} * 0.01);
+ };
+
# format amounts
for $i (1 .. $form->{rowcount} - 1) {
map { $form->{"${_}_$i"} =~ s/\"/"/g } qw(partnumber description unit);
require "bin/mozilla/do.pl";
+ $form->{script} = 'do.pl';
$form->{cp_id} *= 1;
$form->{convert_from_oe_ids} = $form->{id};
$form->{transdate} = $form->current_date(\%myconfig);
delete @{$form}{qw(id subject message cc bcc printed emailed queued creditlimit creditremaining discount tradediscount oldinvtotal closed delivered)};
for $i (1 .. $form->{rowcount}) {
- map { $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if ($form->{"${_}_${i}"}) } qw(ship qty sellprice listprice basefactor);
+ map { $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if ($form->{"${_}_${i}"}) } qw(ship qty sellprice listprice basefactor discount);
}
my %old_values = map { $_ => $form->{$_} } qw(customer_id oldcustomer customer vendor_id oldvendor vendor);