VK-Rechnung 'als bezahlt markieren' für den Typ final_invoice erlauben
[kivitendo-erp.git] / bin / mozilla / is.pl
index 93d5dbe..8384980 100644 (file)
@@ -385,7 +385,7 @@ sub setup_is_action_bar {
           disabled => !$may_edit_create ? t8('You must not change this invoice.')
                     : !$form->{id}      ? t8('This invoice has not been posted yet.')
                     :                     undef,
-          only_if  => $::instance_conf->get_is_show_mark_as_paid && $form->{type} ne "invoice_for_advance_payment",
+          only_if  => ($::instance_conf->get_is_show_mark_as_paid && $form->{type} ne "invoice_for_advance_payment") || $form->{type} eq 'final_invoice',
         ],
       ], # end of combobox "Post"
 
@@ -431,24 +431,24 @@ sub setup_is_action_bar {
           t8('Further Invoice for Advance Payment'),
           submit   => [ '#form', { action => "further_invoice_for_advance_payment" } ],
           checks   => [ 'kivi.validate_form' ],
-          disabled => !$may_edit_create ? t8('You must not change this invoice.')
-                    : !$form->{id}      ? t8('This invoice has not been posted yet.')
-                    : $has_further_invoice_for_advance_payment ? t8('This invoice has already a further invoice for advanced payment.')
-                    : $has_final_invoice                       ? t8('This invoice has already a final invoice.')
+          disabled => !$may_edit_create                          ? t8('You must not change this invoice.')
+                    : !$form->{id}                               ? t8('This invoice has not been posted yet.')
+                    : $has_further_invoice_for_advance_payment   ? t8('This invoice has already a further invoice for advanced payment.')
+                    : $has_final_invoice                         ? t8('This invoice has already a final invoice.')
                     : $is_invoice_for_advance_payment_from_order ? t8('This invoice was added from an order. See there.')
-                    :                     undef,
+                    :                                              undef,
           only_if  => $form->{type} eq "invoice_for_advance_payment",
         ],
         action => [
           t8('Final Invoice'),
           submit   => [ '#form', { action => "final_invoice" } ],
           checks   => [ 'kivi.validate_form' ],
-          disabled => !$may_edit_create ? t8('You must not change this invoice.')
-                    : !$form->{id}      ? t8('This invoice has not been posted yet.')
-                    : $has_further_invoice_for_advance_payment ? t8('This invoice has a further invoice for advanced payment.')
-                    : $has_final_invoice                       ? t8('This invoice has already a final invoice.')
+          disabled => !$may_edit_create                          ? t8('You must not change this invoice.')
+                    : !$form->{id}                               ? t8('This invoice has not been posted yet.')
+                    : $has_further_invoice_for_advance_payment   ? t8('This invoice has a further invoice for advanced payment.')
+                    : $has_final_invoice                         ? t8('This invoice has already a final invoice.')
                     : $is_invoice_for_advance_payment_from_order ? t8('This invoice was added from an order. See there.')
-                    :                     undef,
+                    :                                              undef,
           only_if  => $form->{type} eq "invoice_for_advance_payment",
         ],
         action => [
@@ -624,11 +624,11 @@ sub form_header {
     $form->{"select$item"} =~ s/option>\Q$form->{$item}\E/option selected>$form->{$item}/;
   }
 
-  $TMPL_VAR{is_type_invoice_for_advance_payment} = $form->{type} eq "invoice_for_advance_payment";
-  $TMPL_VAR{is_type_credit_note} = $form->{type}   eq "credit_note";
-  $TMPL_VAR{is_format_html}      = $form->{format} eq 'html';
-  $TMPL_VAR{dateformat}          = $myconfig{dateformat};
-  $TMPL_VAR{numberformat}        = $myconfig{numberformat};
+  $TMPL_VAR{is_type_normal_invoice} = $form->{type} eq "invoice";
+  $TMPL_VAR{is_type_credit_note}    = $form->{type}   eq "credit_note";
+  $TMPL_VAR{is_format_html}         = $form->{format} eq 'html';
+  $TMPL_VAR{dateformat}             = $myconfig{dateformat};
+  $TMPL_VAR{numberformat}           = $myconfig{numberformat};
 
   # hiddens
   $TMPL_VAR{HIDDENS} = [qw(
@@ -768,18 +768,18 @@ sub form_footer {
   }
 
   print $form->parse_html_template('is/form_footer', {
-    is_type_invoice_for_advance_payment => ($form->{type} eq "invoice_for_advance_payment"),
-    is_type_credit_note => ($form->{type} eq "credit_note"),
-    totalpaid           => $totalpaid,
-    paid_missing        => $form->{invtotal} - $totalpaid,
-    print_options       => setup_sales_purchase_print_options(),
-    show_storno         => $form->{id} && !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ar") && !$totalpaid,
-    show_delete         => ($::instance_conf->get_is_changeable == 2)
-                             ? ($form->current_date(\%myconfig) eq $form->{gldate})
-                             : ($::instance_conf->get_is_changeable == 1),
-    today               => DateTime->today,
-    vc_obj              => $form->{customer_id} ? SL::DB::Customer->load_cached($form->{customer_id}) : undef,
-    shipto_cvars        => $shipto_cvars,
+    is_type_normal_invoice              => ($form->{type} eq "invoice"),
+    is_type_credit_note                 => ($form->{type} eq "credit_note"),
+    totalpaid                           => $totalpaid,
+    paid_missing                        => $form->{invtotal} - $totalpaid,
+    print_options                       => setup_sales_purchase_print_options(),
+    show_storno                         => $form->{id} && !$form->{storno} && !IS->has_storno(\%myconfig, $form, "ar") && !$totalpaid,
+    show_delete                         => ($::instance_conf->get_is_changeable == 2)
+                                             ? ($form->current_date(\%myconfig) eq $form->{gldate})
+                                             : ($::instance_conf->get_is_changeable == 1),
+    today                               => DateTime->today,
+    vc_obj                              => $form->{customer_id} ? SL::DB::Customer->load_cached($form->{customer_id}) : undef,
+    shipto_cvars                        => $shipto_cvars,
   });
 ##print $form->parse_html_template('is/_payments'); # parser
 ##print $form->parse_html_template('webdav/_list'); # parser
@@ -1048,6 +1048,8 @@ sub post {
     my @current_taxaccounts = (split(/ /, $form->{taxaccounts}));
     $form->error($locale->text('Cannot post invoice for advance payment with more than one tax'))
       if (scalar @current_taxaccounts > 1);
+    $form->error($locale->text('Cannot post invoice for advance payment with taxincluded'))
+      if ($form->{taxincluded});
   }
 
   for my $i (1 .. $form->{paidaccounts}) {