]> wagnertech.de Git - mfinanz.git/blobdiff - bin/mozilla/is.pl
Typos in Kommentaren
[mfinanz.git] / bin / mozilla / is.pl
index a4f9e85b9d7415cb52c85ea316121eb85ffdc0cc..286e9ab5e2c469662a60cc27f7f99019b7190d57 100644 (file)
@@ -43,6 +43,7 @@ use English qw(-no_match_vars);
 
 use SL::DB::Default;
 use SL::DB::Customer;
+use SL::DB::PaymentTerm;
 
 require "bin/mozilla/io.pl";
 require "bin/mozilla/invoice_io.pl";
@@ -98,7 +99,6 @@ sub edit {
 
   # show history button
   $form->{javascript} = qq|<script type="text/javascript" src="js/show_history.js"></script>|;
-  #/show hhistory button
 
   my ($language_id, $printer_id);
   if ($form->{print_and_post}) {
@@ -172,7 +172,7 @@ sub invoice_links {
   $form->restore_vars(qw(salesman_id)) if $editing;
 
 
-  # build vendor/customer drop down comatibility... don't ask
+  # build vendor/customer drop down compatibility... don't ask
   if (@{ $form->{"all_customer"} }) {
     $form->{"selectcustomer"} = 1;
     $form->{customer}         = qq|$form->{customer}--$form->{"customer_id"}|;
@@ -387,7 +387,10 @@ sub form_header {
   ), @custom_hiddens,
   map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts}];
 
-  $::request->{layout}->use_javascript(map { "${_}.js" } qw(kivi.SalesPurchase ckeditor/ckeditor ckeditor/adapters/jquery kivi.io autocomplete_customer autocomplete_part));
+  $::request->{layout}->use_javascript(map { "${_}.js" } qw(kivi.SalesPurchase ckeditor/ckeditor ckeditor/adapters/jquery kivi.io autocomplete_customer autocomplete_part client_js));
+
+  $TMPL_VAR{payment_terms_obj} = get_payment_terms_for_invoice();
+  $form->{duedate}             = $TMPL_VAR{payment_terms_obj}->calc_date(reference_date => $form->{invdate}, due_date => $form->{due_due})->to_kivitendo if $TMPL_VAR{payment_terms_obj};
 
   $form->header();
 
@@ -685,10 +688,15 @@ sub post_payment {
   ($form->{AR})      = split /--/, $form->{AR};
   ($form->{AR_paid}) = split /--/, $form->{AR_paid};
   relink_accounts();
-  $form->redirect($locale->text('Payment posted!'))
-      if (IS->post_payment(\%myconfig, \%$form));
-    $form->error($locale->text('Cannot post payment!'));
-
+  if ( IS->post_payment(\%myconfig, \%$form) ) {
+    $form->{snumbers}  = qq|invnumber_| . $form->{invnumber};
+    $form->{what_done} = 'invoice';
+    $form->{addition}  = "PAYMENT POSTED";
+    $form->save_history;
+    $form->redirect($locale->text('Payment posted!'))
+  } else {
+   $form->error($locale->text('Cannot post payment!'));
+  };
 
   $main::lxdebug->leave_sub();
 }
@@ -778,6 +786,9 @@ sub post {
 
   relink_accounts();
 
+  my $terms        = get_payment_terms_for_invoice();
+  $form->{duedate} = $terms->calc_date(reference_date => $form->{invdate}, due_date => $form->{due_due})->to_kivitendo if $terms;
+
   # If transfer_out is requested, get rose db handle and do post and
   # transfer out in one transaction. Otherwise just post the invoice.
   if ($::instance_conf->get_is_transfer_out && $form->{type} ne 'credit_note' && !$form->{storno}) {
@@ -817,10 +828,11 @@ sub post {
   remove_draft() if $form->{remove_draft};
 
   if(!exists $form->{addition}) {
-    $form->{snumbers} =  'invnumber' .'_'. $form->{invnumber}; # ($form->{type} eq 'credit_note' ? 'cnnumber' : 'invnumber') .'_'. $form->{invnumber};
-    $form->{addition} = $form->{print_and_post} ? "PRINTED AND POSTED" :
-                        $form->{storno}         ? "STORNO"             :
-                                                  "POSTED";
+    $form->{snumbers}  =  'invnumber' .'_'. $form->{invnumber}; # ($form->{type} eq 'credit_note' ? 'cnnumber' : 'invnumber') .'_'. $form->{invnumber};
+    $form->{what_done} = 'invoice';
+    $form->{addition}  = $form->{print_and_post} ? "PRINTED AND POSTED" :
+                         $form->{storno}         ? "STORNO"             :
+                                                   "POSTED";
     $form->save_history;
   }
 
@@ -842,7 +854,7 @@ sub print_and_post {
 
   $main::auth->assert('invoice_edit');
 
-  my $old_form                    = new Form;
+  my $old_form                    = Form->new;
   $form->{no_redirect_after_post} = 1;
   $form->{print_and_post}         = 1;
   &post();
@@ -864,7 +876,8 @@ sub use_as_new {
   $form->{rowcount}--;
   $form->{paidaccounts} = 1;
   $form->{invdate}      = $form->current_date(\%myconfig);
-  $form->{duedate}      = $form->get_duedate(\%myconfig, $form->{invdate}) || $form->{invdate};
+  my $terms             = get_payment_terms_for_invoice();
+  $form->{duedate}      = $terms ? $terms->calc_date(reference_date => $form->{invdate})->to_kivitendo : $form->{invdate};
   $form->{employee_id}  = SL::DB::Manager::Employee->current->id;
   $form->{forex}        = $form->check_exchangerate(\%myconfig, $form->{currency}, $form->{invdate}, 'buy');
   $form->{exchangerate} = $form->{forex} if $form->{forex};
@@ -898,8 +911,9 @@ sub storno {
   }
 
   # save the history of invoice being stornoed
-  $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
-  $form->{addition} = "STORNO";
+  $form->{snumbers}  = qq|invnumber_| . $form->{invnumber};
+  $form->{what_done} = 'invoice';
+  $form->{addition}  = "STORNO";
   $form->save_history;
 
   map({ my $key = $_; delete($form->{$key}) unless (grep({ $key eq $_ } qw(id login password type))); } keys(%{ $form }));
@@ -933,7 +947,7 @@ sub preview {
   $main::auth->assert('invoice_edit');
 
   $form->{preview} = 1;
-  my $old_form = new Form;
+  my $old_form = Form->new;
   for (keys %$form) { $old_form->{$_} = $form->{$_} }
 
   &print_form($old_form);
@@ -1019,11 +1033,6 @@ sub credit_note {
 #  map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) }
 #    qw(creditlimit creditremaining);
 
-  for my $i (1 .. $form->{rowcount}) {
-    for (qw(listprice)) {
-      $form->{"${_}_${i}"} = $form->parse_amount(\%myconfig, $form->{"${_}_${i}"}) if $form->{"${_}_${i}"};
-    }
-  }
   # set new persistent ids for credit note and link previous invoice id
   $form->{"converted_from_invoice_id_$_"} = delete $form->{"invoice_id_$_"} for 1 .. $form->{"rowcount"};
 
@@ -1068,8 +1077,9 @@ sub yes {
   if (IS->delete_invoice(\%myconfig, \%$form)) {
     # saving the history
     if(!exists $form->{addition}) {
-      $form->{snumbers} = 'invnumber' .'_'. $form->{invnumber}; # ($form->{type} eq 'credit_note' ? 'cnnumber' : 'invnumber') .'_'. $form->{invnumber};
-      $form->{addition} = "DELETED";
+      $form->{snumbers}  = 'invnumber' .'_'. $form->{invnumber}; # ($form->{type} eq 'credit_note' ? 'cnnumber' : 'invnumber') .'_'. $form->{invnumber};
+      $form->{what_done} = 'invoice';
+      $form->{addition}  = "DELETED";
       $form->save_history;
     }
     # /saving the history