]> wagnertech.de Git - mfinanz.git/blobdiff - bin/mozilla/ir.pl
Bugfix 624 und 93.
[mfinanz.git] / bin / mozilla / ir.pl
index 284b2fe5d4fe2f105105d107371fa457d99877b5..e6f035d01fbe3fddc91be1fc9a375e2103bccf11 100644 (file)
@@ -223,7 +223,7 @@ sub form_header {
   $lxdebug->enter_sub();
 
   # set option selected
-  foreach $item (qw(AP vendor currency department employee)) {
+  foreach $item (qw(AP vendor currency department)) {
     $form->{"select$item"} =~ s/ selected//;
     $form->{"select$item"} =~
       s/option>\Q$form->{$item}\E/option selected>$form->{$item}/;
@@ -330,7 +330,7 @@ sub form_header {
       <tr>
       <th align="right">| . $locale->text('Employee') . qq|</th>
       <td>| .
-        NTI($cgi->popup_menu('-name' => 'employee', '-default' => $form->{"employee"},
+        NTI($cgi->popup_menu('-name' => 'employee_id', '-default' => $form->{"employee_id"},
                              '-values' => \@values, '-labels' => \%labels)) . qq|
       </td>
       </tr>|;
@@ -830,6 +830,10 @@ sub form_footer {
   $invdate  = $form->datetonum($form->{invdate},  \%myconfig);
   $closedto = $form->datetonum($form->{closedto}, \%myconfig);
 
+  print qq|<input class=submit type=submit name=action id=update_button value="|
+    . $locale->text('Update') . qq|">
+|;
+
   if ($form->{id}) {
     my $show_storno = !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ap");
 
@@ -851,9 +855,6 @@ sub form_footer {
 
   }
 
-  print qq|<input class=submit type=submit name=action id=update_button value="|
-    . $locale->text('Update') . qq|">|;
-
   if (!$form->{id} && ($invdate > $closedto)) {
     print qq| <input class=submit type=submit name=action value="|
       . $locale->text('Post') . qq|"> | .
@@ -1013,9 +1014,14 @@ sub storno {
     $form->error($locale->text("Invoice has already been storno'd!"));
   }
 
+  my $employee_id = $form->{employee_id};
   invoice_links();
   prepare_invoice();
   relink_accounts();
+
+  # Payments must not be recorded for the new storno invoice.
+  $form->{paidaccounts} = 0;
+  map { my $key = $_; delete $form->{$key} if grep { $key =~ /^$_/ } qw(datepaid_ source_ memo_ paid_ exchangerate_ AR_paid_) } keys %{ $form };
   
   # saving the history
   if(!exists $form->{addition} && $form->{id} ne "") {
@@ -1030,7 +1036,8 @@ sub storno {
   $form->{id} = "";
   $form->{invnumber} = "Storno zu " . $form->{invnumber};
   $form->{rowcount}++;
-  &post();
+  $form->{employee_id} = $employee_id;
+  post();
   $lxdebug->leave_sub();
 
 }
@@ -1093,6 +1100,9 @@ sub post {
   $form->isblank("invdate", $locale->text('Invoice Date missing!'));
   $form->isblank("vendor",  $locale->text('Vendor missing!'));
 
+  $form->{invnumber} =~ s/^\s*//g;
+  $form->{invnumber} =~ s/\s*$//g;
+
   # if the vendor changed get new values
   if (&check_name(vendor)) {
     &update;