]> wagnertech.de Git - mfinanz.git/blobdiff - bin/mozilla/is.pl
Dispatcher: end_of_request() sub aus main namespace verbannt
[mfinanz.git] / bin / mozilla / is.pl
index 46abc9efdc89faced602a0f3b2f257290e6e5792..fa5e31903c08b8f612244efcfe57c11fd814f586 100644 (file)
@@ -35,6 +35,7 @@ use SL::FU;
 use SL::IS;
 use SL::PE;
 use SL::OE;
+use SL::MoreCommon qw(restore_form save_form);
 use Data::Dumper;
 use DateTime;
 use List::MoreUtils qw(uniq);
@@ -47,7 +48,6 @@ use SL::DB::Customer;
 use SL::DB::PaymentTerm;
 
 require "bin/mozilla/io.pl";
-require "bin/mozilla/invoice_io.pl";
 require "bin/mozilla/arap.pl";
 require "bin/mozilla/drafts.pl";
 
@@ -67,6 +67,8 @@ sub add {
 
   return $main::lxdebug->leave_sub() if (load_draft_maybe());
 
+  $form->{show_details} = $::myconfig{show_form_details};
+
   if ($form->{type} eq "credit_note") {
     $form->{title} = $locale->text('Add Credit Note');
 
@@ -96,6 +98,7 @@ sub edit {
 
   $main::auth->assert('invoice_edit');
 
+  $form->{show_details}                = $::myconfig{show_form_details};
   $form->{taxincluded_changed_by_user} = 1;
 
   # show history button
@@ -140,8 +143,6 @@ sub invoice_links {
   $form->{vc} = 'customer';
 
   # create links
-  $form->{webdav}   = $::instance_conf->get_webdav;
-
   $form->create_links("AR", \%myconfig, "customer");
 
   if ($form->{all_customer}) {
@@ -380,12 +381,14 @@ sub form_header {
   $TMPL_VAR{dateformat}          = $myconfig{dateformat};
   $TMPL_VAR{numberformat}        = $myconfig{numberformat};
 
+  push @custom_hiddens, map { "shiptocvar_" . $_->name } @{ SL::DB::Manager::CustomVariableConfig->get_all(where => [ module => 'ShipTo' ]) };
+
   # hiddens
   $TMPL_VAR{HIDDENS} = [qw(
     id action type media format queued printed emailed title vc discount
     title creditlimit creditremaining tradediscount business closedto locked shipped storno storno_id
     max_dunning_level dunning_amount dunning_description
-    shiptoname shiptostreet shiptozipcode shiptocity shiptocountry  shiptocontact shiptophone shiptofax
+    shiptoname shiptostreet shiptozipcode shiptocity shiptocountry shiptogln shiptocontact shiptophone shiptofax
     shiptoemail shiptodepartment_1 shiptodepartment_2  shiptocp_gender message email subject cc bcc taxaccounts cursor_fokus
     convert_from_do_ids convert_from_oe_ids convert_from_ar_ids useasnew
     invoice_id
@@ -396,7 +399,7 @@ sub form_header {
   $::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->{duedate}             = $TMPL_VAR{payment_terms_obj}->calc_date(reference_date => $form->{invdate}, due_date => $form->{duedate})->to_kivitendo if $TMPL_VAR{payment_terms_obj};
 
   $form->header();
 
@@ -463,6 +466,11 @@ sub form_footer {
     }
   }
 
+  $form->{rounding} = $form->round_amount(
+    $form->round_amount($form->{invtotal}, 2, 1) - $form->round_amount($form->{invtotal}, 2), 2
+  );
+  $form->{invtotal} = $form->round_amount( $form->{invtotal}, 2, 1 );
+
   # follow ups
   if ($form->{id}) {
     $form->{follow_ups}            = FU->follow_ups('trans_id' => $form->{id}) || [];
@@ -597,7 +605,7 @@ sub update {
       if ($rows > 1) {
 
         select_item(mode => 'IS', pre_entered_qty => $form->{"qty_$i"});
-        ::end_of_request();
+        $::dispatcher->end_request;
 
       } else {
 
@@ -752,7 +760,7 @@ sub post {
   # if oldcustomer ne customer redo form
   if (&check_name('customer')) {
     &update;
-    ::end_of_request();
+    $::dispatcher->end_request;
   }
 
   if ($myconfig{mandatory_departments} && !$form->{department_id}) {
@@ -1095,6 +1103,27 @@ sub credit_note {
   $main::lxdebug->leave_sub();
 }
 
+sub display_form {
+  $::lxdebug->enter_sub;
+
+  $::auth->assert('invoice_edit');
+
+  relink_accounts();
+
+  my $new_rowcount = $::form->{"rowcount"} * 1 + 1;
+  $::form->{"project_id_${new_rowcount}"} = $::form->{"globalproject_id"};
+
+  $::form->language_payment(\%::myconfig);
+
+  Common::webdav_folder($::form);
+
+  form_header();
+  display_row(++$::form->{rowcount});
+  form_footer();
+
+  $::lxdebug->leave_sub;
+}
+
 sub yes {
   $main::lxdebug->enter_sub();