Merge branch 'master' of ssh://git-mbunkus@lx-office.linet-services.de/~/lx-office-erp
[kivitendo-erp.git] / bin / mozilla / do.pl
index cf7bc42..fa3be49 100644 (file)
@@ -359,7 +359,7 @@ sub update_delivery_order {
     my $rows = scalar @{ $form->{item_list} };
 
     if ($rows) {
-      $form->{"qty_$i"} = 1 unless ($form->{"qty_$i"});
+      $form->{"qty_$i"} = 1 unless $form->parse_amount(\%myconfig, $form->{"qty_$i"});
 
       if ($rows > 1) {
 
@@ -609,6 +609,7 @@ sub save {
   # $locale->text('Customer missing!');
   # $locale->text('Vendor missing!');
 
+  remove_emptied_rows();
   validate_items();
 
   # if the name changed get new values
@@ -618,9 +619,23 @@ sub save {
   }
 
   $form->{id} = 0 if $form->{saveasnew};
-
+  # best case fix für bug 1079. Einkaufsrabatt wird nicht richtig
+  # aus Lieferantenauftrag -> Lieferschein -> Rechnung übernommen
+  # Tritt nur auf, wenn man direkt über Lieferschein -> speichern ->
+  # Workflow Rechnung geht (beim Aufruf über edit() i.O.)
+  # Gut. DO-save() speichert den Discount im DB-Format 0.12 für
+  # 12%, die Konvertierung wird leider in $form gemacht und daher
+  # wird die Maske mit dem falschen Rabatt wieder aufgebaut.
+  # Wie immer: backup_vars verwenden um nichts anderes kaputt zu
+  # machen. jan 03.03.2010
+  for my $i (1 .. $form->{rowcount}) {
+    $form->{"backup_discount_$i"} = $form->{"discount_$i"};
+  };
   DO->save();
-
+  for my $i (1 .. $form->{rowcount}) {
+    $form->{"discount_$i"} = $form->{"backup_discount_$i"};
+    delete $form->{"backup_discount_$i"};
+  };
   # saving the history
   if(!exists $form->{addition}) {
     $form->{snumbers} = qq|donumber_| . $form->{donumber};