global $::cgi in bin/mozilla/login.pl entfernt
[kivitendo-erp.git] / bin / mozilla / do.pl
index 7107017..adaeb27 100644 (file)
@@ -239,12 +239,14 @@ sub prepare_order {
 sub setup_do_action_bar {
   my @transfer_qty   = qw(kivi.SalesPurchase.delivery_order_check_transfer_qty);
   my @req_trans_desc = qw(kivi.SalesPurchase.check_transaction_description) x!!$::instance_conf->get_require_transaction_description_ps;
+  my $is_customer    = $::form->{vc} eq 'customer';
 
   for my $bar ($::request->layout->get('actionbar')) {
     $bar->add(
       action =>
         [ t8('Update'),
           submit    => [ '#form', { action => "update" } ],
+          id        => 'update_button',
           accesskey => 'enter',
         ],
 
@@ -284,30 +286,34 @@ sub setup_do_action_bar {
       ],
 
       combobox => [
-        (action => [
+        action => [
           t8('Transfer out'),
           submit   => [ '#form', { action => "transfer_out" } ],
           checks   => [ @req_trans_desc, @transfer_qty ],
           disabled => $::form->{delivered} ? t8('This record has already been delivered.') : undef,
-        ]) x ($::form->{vc} eq 'customer'),
-        (action => [
+          only_if  => $is_customer,
+        ],
+        action => [
           t8('Transfer out via default'),
           submit   => [ '#form', { action => "transfer_out_default" } ],
           checks   => [ @req_trans_desc, @transfer_qty ],
           disabled => $::form->{delivered} ? t8('This record has already been delivered.') : undef,
-        ]) x ($::form->{vc} eq 'customer' && $::instance_conf->get_transfer_default),
-        (action => [
+          only_if  => $is_customer && $::instance_conf->get_transfer_default,
+        ],
+        action => [
           t8('Transfer in'),
           submit   => [ '#form', { action => "transfer_in"> 1 } ],
           checks   => [ @req_trans_desc, @transfer_qty ],
           disabled => $::form->{delivered} ? t8('This record has already been delivered.') : undef,
-        ]) x ($::form->{vc} eq 'vendor'),
-        (action => [
+          only_if  => !$is_customer,
+        ],
+        action => [
           t8('Transfer in via default'),
           submit   => [ '#form', { action => "transfer_in_default" } ],
           checks   => [ @req_trans_desc, @transfer_qty ],
           disabled => $::form->{delivered} ? t8('This record has already been delivered.') : undef,
-        ]) x ($::form->{vc} eq 'vendor' && $::instance_conf->get_transfer_default),
+          only_if  => !$is_customer && $::instance_conf->get_transfer_default,
+        ],
       ], # end of combobox "Transfer out"
 
 
@@ -371,10 +377,15 @@ sub setup_do_orders_action_bar {
     $bar->add(
       action => [
         t8('New invoice'),
-        submit    => [ '#orders_form' ],
-        checks    => [ 'kivi.DeliveryOrder.multi_invoice_check_delivery_orders_selected' ],
+        submit    => [ '#form', { action => 'invoice_multi' } ],
+        checks    => [ [ 'kivi.check_if_entries_selected', '#form tbody input[type=checkbox]' ] ],
         accesskey => 'enter',
       ],
+      action => [
+        t8('Print'),
+        call   => [ 'kivi.SalesPurchase.show_print_dialog', 'js:kivi.MassDeliveryOrderPrint.submitMultiOrders' ],
+        checks => [ [ 'kivi.check_if_entries_selected', '#form tbody input[type=checkbox]' ] ],
+      ],
     );
   }
 }
@@ -390,8 +401,11 @@ sub form_header {
   my $class       = "SL::DB::" . ($form->{vc} eq 'customer' ? 'Customer' : 'Vendor');
   $form->{VC_OBJ} = $class->load_cached($form->{ $form->{vc} . '_id' });
 
-  $form->{employee_id} = $form->{old_employee_id} if $form->{old_employee_id};
-  $form->{salesman_id} = $form->{old_salesman_id} if $form->{old_salesman_id};
+  my $current_employee   = SL::DB::Manager::Employee->current;
+  $form->{employee_id}   = $form->{old_employee_id} if $form->{old_employee_id};
+  $form->{salesman_id}   = $form->{old_salesman_id} if $form->{old_salesman_id};
+  $form->{employee_id} ||= $current_employee->id;
+  $form->{salesman_id} ||= $current_employee->id;
 
   my $vc = $form->{vc} eq "customer" ? "customers" : "vendors";
   $form->get_lists("price_factors"  => "ALL_PRICE_FACTORS",
@@ -654,7 +668,7 @@ sub orders {
   my $locale   = $main::locale;
   my $cgi      = $::request->{cgi};
 
-  $::request->{layout}->use_javascript(map { "${_}.js" } qw(kivi.MassDeliveryOrderPrint));
+  $::request->{layout}->use_javascript(map { "${_}.js" } qw(kivi.MassDeliveryOrderPrint kivi.SalesPurchase));
   ($form->{ $form->{vc} }, $form->{"$form->{vc}_id"}) = split(/--/, $form->{ $form->{vc} });
 
   report_generator_set_default_sort('transdate', 1);
@@ -796,9 +810,17 @@ sub orders {
       $form->{printer_id} = $pr->id;
   }
 
+  my $print_options = SL::Helper::PrintOptions->get_print_options(
+    options => {
+      hide_language_id => 1,
+      show_bothsided   => 1,
+      show_headers     => 1,
+    },
+  );
+
   $report->set_options('top_info_text'        => join("\n", @options),
                        'raw_top_info_text'    => $form->parse_html_template('do/orders_top'),
-                       'raw_bottom_info_text' => $form->parse_html_template('do/orders_bottom', { print_options => print_options(inline => 1,hide_language_id => 1) }),
+                       'raw_bottom_info_text' => $form->parse_html_template('do/orders_bottom', { print_options => $print_options }),
                        'output_format'        => 'HTML',
                        'title'                => $form->{title},
                        'attachment_basename'  => $attachment_basename . strftime('_%Y%m%d', localtime time),
@@ -838,11 +860,9 @@ sub orders {
     $idx++;
   }
 
-  $::request->layout->add_javascripts('kivi.DeliveryOrder.js');
-
   setup_do_orders_action_bar();
 
-  $report->generate_with_headers(action_bar => 1);
+  $report->generate_with_headers();
 
   $main::lxdebug->leave_sub();
 }