]> wagnertech.de Git - mfinanz.git/blobdiff - bin/mozilla/is.pl
Einkaufs- & Verkaufsbelege: Bearbeiter*in & Verkäufer*in mit aktueller Benutzer*in...
[mfinanz.git] / bin / mozilla / is.pl
index 6eae18e3964508ab4c6ef8a8379a78210962c4a2..1fe448ff7e71d2165d94d2748f738b4b70aeeb50 100644 (file)
@@ -285,11 +285,12 @@ sub setup_is_action_bar {
           checks   => [ @req_trans_desc ],
           disabled => !$form->{id} ? t8('This invoice has not been posted yet.') : undef,
         ],
-        (action => [ t8('Mark as paid'),
+        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 => [
@@ -330,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"
@@ -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;