Anzeige von Kundendaten in der Verkaufsrechnungssuche.
[kivitendo-erp.git] / bin / mozilla / oe.pl
index b3a6568..c55689e 100644 (file)
@@ -238,7 +238,7 @@ sub order_links {
 
   $form->{"old$form->{vc}"}  = $form->{$form->{vc}};
 
-  if ($form->{"old$form->{vc}"} !~ m/--\d+$/ && $form->{"$form->{vc_}id}"}) {
+  if ($form->{"old$form->{vc}"} !~ m/--\d+$/ && $form->{"$form->{vc}_id"}) {
     $form->{"old$form->{vc}"} .= qq|--$form->{"$form->{vc}_id"}|
   }
 
@@ -634,7 +634,7 @@ sub search {
 
   $form->header();
 
-  print $form->parse_html_template('oe/search');
+  print $form->parse_html_template('oe/search', { %myconfig });
 
   $lxdebug->leave_sub();
 }
@@ -664,7 +664,7 @@ sub orders {
 
   $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);
 
@@ -1273,7 +1273,7 @@ sub invoice {
 
   require "bin/mozilla/$form->{script}";
 
-  map { $form->{"select$_"} = "" } ($form->{vc}, currency);
+  map { $form->{"select$_"} = "" } ($form->{vc}, "currency");
 
   $currency = $form->{currency};
   &invoice_links;
@@ -1612,7 +1612,7 @@ sub poso {
                                 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);
@@ -1623,6 +1623,12 @@ sub poso {
 
   &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);
@@ -1651,6 +1657,7 @@ sub delivery_order {
 
   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);
@@ -1663,7 +1670,7 @@ sub delivery_order {
   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);