kivi.Validator: In DO Suche und Normaler Maske als check registriert
[kivitendo-erp.git] / bin / mozilla / is.pl
index ce5f9f6..293091b 100644 (file)
@@ -331,7 +331,7 @@ sub setup_is_action_bar {
         ],
         action => [
           t8('Sales Order'),
-          submit   => [ '#form', { action => "sales_order" } ],
+          submit   => [ '#form', { action => "order" } ],
           disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
         ],
       ], # end of combobox "Workflow"
@@ -344,6 +344,11 @@ sub setup_is_action_bar {
           checks   => [ @req_trans_desc ],
           disabled => !$form->{id} && $form->{locked} ? t8('The billing period has already been locked.') : undef,
         ],
+        action => [ t8('Print and Post'),
+          call     => [ 'kivi.SalesPurchase.show_print_dialog', $form->{id} ? 'print' : 'print_and_post' ],
+          checks   => [ @req_trans_desc ],
+          disabled => $form->{id} ? t8('This invoice has already been posted.') : undef,,
+        ],
         action => [ t8('E Mail'),
           call     => [ 'kivi.SalesPurchase.show_email_dialog' ],
           checks   => [ @req_trans_desc ],
@@ -391,8 +396,11 @@ sub form_header {
   $TMPL_VAR{customer_obj} = SL::DB::Customer->load_cached($form->{customer_id}) if $form->{customer_id};
   $TMPL_VAR{invoice_obj}  = SL::DB::Invoice->load_cached($form->{id})           if $form->{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;
 
   $form->{defaultcurrency} = $form->get_default_currency(\%myconfig);
 
@@ -474,7 +482,7 @@ sub form_header {
   ), @custom_hiddens,
   map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts}];
 
-  $::request->{layout}->use_javascript(map { "${_}.js" } qw(kivi.Draft kivi.File kivi.SalesPurchase kivi.Part ckeditor/ckeditor ckeditor/adapters/jquery kivi.io autocomplete_customer client_js));
+  $::request->{layout}->use_javascript(map { "${_}.js" } qw(kivi.Draft kivi.File kivi.SalesPurchase kivi.Part kivi.CustomerVendor kivi.Validator ckeditor/ckeditor ckeditor/adapters/jquery kivi.io 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->{duedate})->to_kivitendo if $TMPL_VAR{payment_terms_obj};
@@ -626,6 +634,9 @@ sub mark_as_paid {
 }
 
 sub show_draft {
+  # unless no lazy implementation of save draft without invdate
+  # set the current date like in version <= 3.4.1
+  $::form->{invdate}   = DateTime->today->to_lxoffice;
   update();
 }
 
@@ -940,9 +951,7 @@ sub post {
         1;
       }) {
         push @errors, $EVAL_ERROR;
-        # we have to use the error dialog here, otherwise the @errors won't be printed
         $form->error($locale->text('Cannot post invoice and/or transfer out! Error message:') . "\n" . join("\n", @errors));
-        die 'transaction error';
       }
 
       1;