Merge remote branch 'refs/remotes/kirana/after-262'
[kivitendo-erp.git] / bin / mozilla / oe.pl
index 20206d6..97cc388 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}   = $main::webdav;
+  $form->{webdav}   = $::lx_office_conf{system}->{webdav};
   $form->{jsscript} = 1;
 
   my $editing = $form->{id};
@@ -498,7 +498,7 @@ sub form_footer {
 
   print $form->parse_html_template("oe/form_footer", {
      %TMPL_VAR,
-     webdav          => $main::webdav,
+     webdav          => $::lx_office_conf{system}->{webdav},
      print_options   => print_options(inline => 1),
      label_edit      => $locale->text("Edit the $form->{type}"),
      label_workflow  => $locale->text("Workflow $form->{type}"),
@@ -1271,7 +1271,7 @@ sub delete_order_quotation {
     $msg = $locale->text('Quotation deleted!');
     $err = $locale->text('Cannot delete quotation!');
   }
-  if (OE->delete(\%myconfig, \%$form, $main::spool)){
+  if (OE->delete(\%myconfig, \%$form)){
     # saving the history
     if(!exists $form->{addition}) {
       $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
@@ -1435,6 +1435,10 @@ sub invoice {
 
   }
 
+  #  show pricegroup in newly loaded invoice when creating invoice from quotation/order
+  IS->get_pricegroups_for_parts(\%myconfig, \%$form);
+  set_pricegroup($_) for 1 .. $form->{rowcount};
+
   &display_form;
 
   $main::lxdebug->leave_sub();
@@ -1920,7 +1924,7 @@ sub display_form {
 
   $form->language_payment(\%myconfig);
 
-  Common::webdav_folder($form) if ($main::webdav);
+  Common::webdav_folder($form);
 
   &form_header;
 
@@ -1963,11 +1967,11 @@ sub edit_periodic_invoices_config {
   $config = YAML::Load($::form->{periodic_invoices_config}) if $::form->{periodic_invoices_config};
 
   if ('HASH' ne ref $config) {
-    $config       =  {
-      periodicity => 'm',
-      start_date  => $::form->{transdate},
-      active      => 1,
-    };
+    $config =  { periodicity             => 'y',
+                 start_date_as_date      => $::form->{transdate},
+                 extend_automatically_by => 12,
+                 active                  => 1,
+               };
   }
 
   $config->{periodicity} = 'm' if none { $_ eq $config->{periodicity} } qw(m q y);
@@ -1992,15 +1996,18 @@ sub save_periodic_invoices_config {
 
   check_oe_access();
 
-  $::form->isblank('start_date', $::locale->text('The start date is missing.'));
-
-  my $config = { active       => $::form->{active} ? 1 : 0,
-                 periodicity  => (any { $_ eq $::form->{periodicity} } qw(m q y)) ? $::form->{periodicity} : 'm',
-                 start_date   => $::form->{start_date},
-                 print        => $::form->{print} ? 1 : 0,
-                 printer_id   => $::form->{print} ? $::form->{printer_id} * 1 : undef,
-                 copies       => $::form->{copies} * 1 ? $::form->{copies} : 1,
-                 ar_chart_id  => $::form->{ar_chart_id} * 1,
+  $::form->isblank('start_date_as_date', $::locale->text('The start date is missing.'));
+
+  my $config = { active                  => $::form->{active}     ? 1 : 0,
+                 terminated              => $::form->{terminated} ? 1 : 0,
+                 periodicity             => (any { $_ eq $::form->{periodicity} } qw(m q y)) ? $::form->{periodicity} : 'm',
+                 start_date_as_date      => $::form->{start_date_as_date},
+                 end_date_as_date        => $::form->{end_date_as_date},
+                 print                   => $::form->{print} ? 1 : 0,
+                 printer_id              => $::form->{print} ? $::form->{printer_id} * 1 : undef,
+                 copies                  => $::form->{copies} * 1 ? $::form->{copies} : 1,
+                 extend_automatically_by => $::form->{extend_automatically_by} * 1 || undef,
+                 ar_chart_id             => $::form->{ar_chart_id} * 1,
                };
 
   $::form->{periodic_invoices_config} = YAML::Dump($config);
@@ -2013,16 +2020,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.'));
 }