Bei Artikelauswahl nur ID als Hidden mitschleifen, nicht alle Artikeldetails
[kivitendo-erp.git] / bin / mozilla / oe.pl
index caf6749..a7e95a6 100644 (file)
@@ -222,7 +222,7 @@ sub order_links {
   $form->all_vc(\%myconfig, $form->{vc}, ($form->{vc} eq 'customer') ? "AR" : "AP");
 
   # retrieve order/quotation
-  $form->{webdav}   = $::lx_office_conf{system}->{webdav};
+  $form->{webdav}   = $::lx_office_conf{features}->{webdav};
   $form->{jsscript} = 1;
 
   my $editing = $form->{id};
@@ -238,14 +238,14 @@ sub order_links {
 
   $form->{"$form->{vc}_id"} ||= $form->{"all_$form->{vc}"}->[0]->{id} if $form->{"all_$form->{vc}"};
 
-  $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded cp_id intnotes));
+  $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded cp_id intnotes shipto_id));
   $form->{shipto} = 1 if $form->{id};
 
   # get customer / vendor
   IR->get_vendor(\%myconfig, \%$form)   if $form->{type} =~ /(purchase_order|request_quotation)/;
   IS->get_customer(\%myconfig, \%$form) if $form->{type} =~ /sales_(order|quotation)/;
 
-  $form->restore_vars(qw(payment_id language_id taxzone_id intnotes cp_id));
+  $form->restore_vars(qw(payment_id language_id taxzone_id intnotes cp_id shipto_id));
   $form->restore_vars(qw(taxincluded)) if $form->{id};
   $form->restore_vars(qw(salesman_id)) if $editing;
   $form->{forex}       = $form->{exchangerate};
@@ -393,9 +393,8 @@ sub form_header {
           : ($creditwarning)                                   ? "alert('$credittext')"
           :                                                      "";
 
-  $onload .= qq|;setupDateFormat('|. $myconfig{dateformat} .qq|', '|. $locale->text("Falsches Datumsformat!") .qq|')|;
-  $onload .= qq|;setupPoints('|.   $myconfig{numberformat} .qq|', '|. $locale->text("wrongformat") .qq|')|;
-  $TMPL_VAR{onload} = $onload;
+  $TMPL_VAR{dateformat}          = $myconfig{dateformat};
+  $TMPL_VAR{numberformat}        = $myconfig{numberformat};
 
   if ($form->{type} eq 'sales_order') {
     if (!$form->{periodic_invoices_config}) {
@@ -498,7 +497,7 @@ sub form_footer {
 
   print $form->parse_html_template("oe/form_footer", {
      %TMPL_VAR,
-     webdav          => $::lx_office_conf{system}->{webdav},
+     webdav          => $::lx_office_conf{features}->{webdav},
      print_options   => print_options(inline => 1),
      label_edit      => $locale->text("Edit the $form->{type}"),
      label_workflow  => $locale->text("Workflow $form->{type}"),
@@ -516,7 +515,7 @@ sub form_footer {
 sub update {
   $main::lxdebug->enter_sub();
 
-  my ($recursive_call) = shift;
+  my ($recursive_call) = @_;
 
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
@@ -551,10 +550,13 @@ sub update {
     &check_form;
   } else {
 
+    my $mode;
     if ($form->{type} =~ /^sales/) {
       IS->retrieve_item(\%myconfig, \%$form);
+      $mode = 'IS';
     } else {
       IR->retrieve_item(\%myconfig, \%$form);
+      $mode = 'IR';
     }
 
     my $rows = scalar @{ $form->{item_list} };
@@ -572,7 +574,7 @@ sub update {
 
       if ($rows > 1) {
 
-        &select_item;
+        select_item(mode => $mode);
         ::end_of_request();
 
       } else {
@@ -702,7 +704,7 @@ sub search {
 
   print $form->parse_html_template('oe/search', {
     %myconfig,
-    is_order => $form->{type} =~ /_order/,
+    is_order => scalar($form->{type} =~ /_order/),
   });
 
   $main::lxdebug->leave_sub();
@@ -2020,16 +2022,14 @@ sub save_periodic_invoices_config {
 }
 
 sub dispatcher {
-  my $form     = $main::form;
-  my $locale   = $main::locale;
-
   foreach my $action (qw(delete delivery_order e_mail invoice print purchase_order purchase_order quotation
                          request_for_quotation sales_order sales_order save save_and_close save_as_new ship_to update)) {
-    if ($form->{"action_${action}"}) {
+    if ($::form->{"action_${action}"}) {
+      $::form->{dispatched_action} = $action;
       call_sub($action);
       return;
     }
   }
 
-  $form->error($locale->text('No action defined.'));
+  $::form->error($::locale->text('No action defined.'));
 }