Rechnungs- und Gutschriftsnummern werden nun direkt innerhalb der Backend-Routinen...
[kivitendo-erp.git] / bin / mozilla / io.pl
index d8b522d..6fa6718 100644 (file)
@@ -134,7 +134,7 @@ sub display_row {
   my $colspan = $#column_index + 1;
 
   $form->{invsubtotal} = 0;
-  map { $form->{"${_}_base"} = 0 } (split / /, $form->{taxaccounts});
+  map { $form->{"${_}_base"} = 0 } (split(/ /, $form->{taxaccounts}));
 
 ########################################
   # Eintrag fuer Version 2.2.0 geaendert #
@@ -519,7 +519,7 @@ sub display_row {
 ############## ENDE Neueintrag ##################
 
     map { $form->{"${_}_base"} += $linetotal }
-      (split / /, $form->{"taxaccounts_$i"});
+      (split(/ /, $form->{"taxaccounts_$i"}));
 
     $form->{invsubtotal} += $linetotal;
   }
@@ -1128,12 +1128,12 @@ sub invoicetotal {
 
     $amount = $sellprice * (1 - $discount / 100) * $qty;
     map { $form->{"${_}_base"} += $amount }
-      (split / /, $form->{"taxaccounts_$i"});
+      (split (/ /, $form->{"taxaccounts_$i"}));
     $form->{oldinvtotal} += $amount;
   }
 
   map { $form->{oldinvtotal} += ($form->{"${_}_base"} * $form->{"${_}_rate"}) }
-    split / /, $form->{taxaccounts}
+    split(/ /, $form->{taxaccounts})
     if !$form->{taxincluded};
 
   $form->{oldtotalpaid} = 0;
@@ -1657,10 +1657,16 @@ sub print_options {
   }
 
   $form->{groupitems} = "checked" if $form->{groupitems};
+  $form->{remove_draft} = "checked" if $form->{remove_draft};
 
   print qq|
           <td>| . $locale->text('Group Items') . qq|</td>
-          <td><input name=groupitems type=checkbox class=checkbox $form->{groupitems}></td>
+          <td><input name=groupitems type=checkbox class=checkbox $form->{groupitems}></td>|;
+
+  print qq|
+          <td>| . $locale->text('Remove Draft') . qq|</td>
+          <td><input name=remove_draft type=checkbox class=checkbox $form->{remove_draft}></td>| if (!$form->{id} && $form->{draft_id});
+  print qq|
         </tr>
       </table>
     </td>
@@ -1857,7 +1863,8 @@ sub print_form {
   # $locale->text('Quotation Date missing!')
 
   # assign number
-  if (!$form->{"${inv}number"} && !$form->{preview}) {
+  $form->{what_done} = $form->{formname};
+  if (!$form->{"${inv}number"} && !$form->{preview} && !$form->{id}) {
     $form->{"${inv}number"} = $form->update_defaults(\%myconfig, $numberfld);
     if ($form->{media} ne 'email') {
 
@@ -1870,6 +1877,12 @@ sub print_form {
       $form->{rowcount}--;
 
       &{"$display_form"};
+      # saving the history
+         if(!exists $form->{addition}) {
+           $form->{addition} = "PRINTED";
+           $form->save_history($form->dbconnect(\%myconfig));
+      }
+      # /saving the history
       exit;
     }
   }
@@ -2045,6 +2058,24 @@ sub print_form {
   }
   $queued = $form->{queued};
 
+# saving the history
+  if(!exists $form->{addition}) {
+    if($form->{media} =~ /printer/) {
+       $form->{addition} = "PRINTED";
+    }
+    elsif($form->{media} =~ /email/) {
+       $form->{addition} = "MAILED";
+    }
+    elsif($form->{media} =~ /queue/) {
+       $form->{addition} = "QUEUED";
+    }
+    elsif($form->{media} =~ /screen/) {
+       $form->{addition} = "SCREENED";
+    }
+    $form->save_history($form->dbconnect(\%myconfig));
+  }
+  # /saving the history
+
   $form->parse_template(\%myconfig, $userspath);
 
   $form->{callback} = "";
@@ -2332,7 +2363,6 @@ sub relink_accounts {
   $lxdebug->leave_sub();
 }
 
-
 sub set_duedate {
   $lxdebug->enter_sub();