Einkaufs- & Verkaufsbelege: Bearbeiter*in & Verkäufer*in mit aktueller Benutzer*in...
[kivitendo-erp.git] / bin / mozilla / is.pl
index def63a9..1fe448f 100644 (file)
@@ -262,7 +262,7 @@ sub setup_is_action_bar {
     $bar->add(
       action => [
         t8('Update'),
-        submit    => [ '#form', { action_update => 1 } ],
+        submit    => [ '#form', { action => "update" } ],
         disabled  => $form->{locked} ? t8('The billing period has already been locked.') : undef,
         id        => 'update_button',
         accesskey => 'enter',
@@ -271,7 +271,7 @@ sub setup_is_action_bar {
       combobox => [
         action => [
           t8('Post'),
-          submit   => [ '#form', { action_post => 1 } ],
+          submit   => [ '#form', { action => "post" } ],
           checks   => [ @req_trans_desc ],
           disabled => $form->{locked}                           ? t8('The billing period has already been locked.')
                     : $form->{storno}                           ? t8('A canceled invoice cannot be posted.')
@@ -281,26 +281,27 @@ sub setup_is_action_bar {
         ],
         action => [
           t8('Post Payment'),
-          submit   => [ '#form', { action_post_payment => 1 } ],
+          submit   => [ '#form', { action => "post_payment" } ],
           checks   => [ @req_trans_desc ],
           disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
         ],
-        (action => [ t8('Mark as paid'),
-          submit   => [ '#form', { action_mark_as_paid => 1 } ],
+        action => [ t8('Mark as paid'),
+          submit   => [ '#form', { action => "mark_as_paid" } ],
           confirm  => t8('This will remove the invoice from showing as unpaid even if the unpaid amount does not match the amount. Proceed?'),
           disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
-        ]) x !!$::instance_conf->get_is_show_mark_as_paid,
+          only_if  => $::instance_conf->get_is_show_mark_as_paid,
+        ],
       ], # end of combobox "Post"
 
       combobox => [
         action => [ t8('Storno'),
-          submit   => [ '#form', { action_storno => 1 } ],
+          submit   => [ '#form', { action => "storno" } ],
           confirm  => t8('Do you really want to cancel this invoice?'),
           checks   => [ @req_trans_desc ],
           disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
         ],
         action => [ t8('Delete'),
-          submit   => [ '#form', { action_delete => 1 } ],
+          submit   => [ '#form', { action => "delete" } ],
           confirm  => t8('Do you really want to delete this object?'),
           checks   => [ @req_trans_desc ],
           disabled => !$form->{id}             ? t8('This invoice has not been posted yet.')
@@ -317,12 +318,12 @@ sub setup_is_action_bar {
         action => [ t8('Workflow') ],
         action => [
           t8('Use As New'),
-          submit   => [ '#form', { action_use_as_new => 1 } ],
+          submit   => [ '#form', { action => "use_as_new" } ],
           disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
         ],
         action => [
           t8('Credit Note'),
-          submit   => [ '#form', { action_credit_note => 1 } ],
+          submit   => [ '#form', { action => "credit_note" } ],
           checks   => [ @req_trans_desc ],
           disabled => $form->{type} eq "credit_note" ? t8('Credit notes cannot be converted into other credit notes.')
                     : !$form->{id}                   ? t8('This invoice has not been posted yet.')
@@ -330,7 +331,7 @@ sub setup_is_action_bar {
         ],
         action => [
           t8('Sales Order'),
-          submit   => [ '#form', { action_sales_order   => 1 } ],
+          submit   => [ '#form', { action => "order" } ],
           disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
         ],
       ], # end of combobox "Workflow"
@@ -339,7 +340,7 @@ sub setup_is_action_bar {
         action => [ t8('Export') ],
         action => [
           ($form->{id} ? t8('Print') : t8('Preview')),
-          submit   => [ '#form', { action_print => 1 } ],
+          call     => [ 'kivi.SalesPurchase.show_print_dialog', $form->{id} ? 'print' : 'preview' ],
           checks   => [ @req_trans_desc ],
           disabled => !$form->{id} && $form->{locked} ? t8('The billing period has already been locked.') : undef,
         ],
@@ -354,7 +355,7 @@ sub setup_is_action_bar {
         action => [ t8('more') ],
         action => [
           t8('History'),
-          call     => [ 'set_history_window', $form->{id} * 1, 'id' ],
+          call     => [ 'set_history_window', $form->{id} * 1, 'glid' ],
           disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
         ],
         action => [
@@ -390,8 +391,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);
 
@@ -625,6 +629,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();
 }
 
@@ -939,7 +946,7 @@ sub post {
         1;
       }) {
         push @errors, $EVAL_ERROR;
-        die 'transaction error';
+        $form->error($locale->text('Cannot post invoice and/or transfer out! Error message:') . "\n" . join("\n", @errors));
       }
 
       1;