Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / bin / mozilla / oe.pl
index e9e7bb5..5df518f 100644 (file)
@@ -402,19 +402,18 @@ sub form_header {
     }
   }
 
-  my $onload = "";
+  my $dispatch_to_popup = '';
   if ($form->{resubmit} && ($form->{format} eq "html")) {
-      $onload  = "window.open('about:blank','Beleg'); document.oe.target = 'Beleg';";
-      $onload .= "document.do.submit();";
+      $dispatch_to_popup  = "window.open('about:blank','Beleg'); document.oe.target = 'Beleg';";
+      $dispatch_to_popup .= "document.do.submit();";
   } elsif ($form->{resubmit}) {
     # emulate click for resubmitting actions
-    $onload  = "document.oe.${_}.click(); " for grep { /^action_/ } keys %$form;
-    $onload .= "document.oe.submit();";
+    $dispatch_to_popup  = "document.oe.${_}.click(); " for grep { /^action_/ } keys %$form;
   } elsif ($creditwarning) {
-    $onload = "alert('$credittext')";
+    $::request->{layout}->add_javascripts_inline("alert('$credittext')");
   }
 
-  $TMPL_VAR{onload} = $onload;
+  $::request->{layout}->add_javascripts_inline("\$(function(){$dispatch_to_popup})");
   $TMPL_VAR{dateformat}          = $myconfig{dateformat};
   $TMPL_VAR{numberformat}        = $myconfig{numberformat};
 
@@ -1459,8 +1458,6 @@ sub backorder_exchangerate {
   $form->header;
 
   print qq|
-<body>
-
 <form method=post action=$form->{script}>
 |;
 
@@ -1512,8 +1509,6 @@ sub backorder_exchangerate {
     . $locale->text('Continue') . qq|">
 
 </form>
-
-</body>
 |;
 
   $main::lxdebug->leave_sub();
@@ -1740,13 +1735,14 @@ sub purchase_order {
 
   $form->{cp_id} *= 1;
 
+  my $source_type = $form->{type};
   $form->{title} = $locale->text('Add Purchase Order');
   $form->{vc}    = "vendor";
   $form->{type}  = "purchase_order";
 
   $form->get_employee();
 
-  &poso;
+  poso(source_type => $form->{type});
 
   delete $form->{sales_order_to_purchase_order};
 
@@ -1768,13 +1764,14 @@ sub sales_order {
 
   $form->{cp_id} *= 1;
 
+  my $source_type = $form->{type};
   $form->{title}  = $locale->text('Add Sales Order');
   $form->{vc}     = "customer";
   $form->{type}   = "sales_order";
 
   $form->get_employee();
 
-  &poso;
+  poso(source_type => $source_type);
 
   $main::lxdebug->leave_sub();
 }
@@ -1782,6 +1779,7 @@ sub sales_order {
 sub poso {
   $main::lxdebug->enter_sub();
 
+  my %param    = @_;
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
 
@@ -1791,6 +1789,11 @@ sub poso {
   $form->{transdate} = $form->current_date(\%myconfig);
   delete $form->{duedate};
 
+  # "reqdate" is the validity date for a quotation and the delivery
+  # date for an order. Therefore it makes no sense to keep the value
+  # when converting from one into the other.
+  delete $form->{reqdate} if ($param{source_type} =~ /_quotation$/) == ($form->{type} =~ /_quotation$/);
+
   $form->{convert_from_oe_ids} = $form->{id};
   $form->{closed}              = 0;
 
@@ -2003,7 +2006,7 @@ sub edit_periodic_invoices_config {
   $::form->{AR}    = [ grep { $_->{link} =~ m/(?:^|:)AR(?::|$)/ } @{ $::form->{ALL_CHARTS} } ];
   $::form->{title} = $::locale->text('Edit the configuration for periodic invoices');
 
-  $::form->header();
+  $::form->header(no_layout => 1);
   print $::form->parse_html_template('oe/edit_periodic_invoices_config', $config);
 
   $::lxdebug->leave_sub();