Verkäufer-/Bearbeiter-Drop-Downs in mehreren Masken sortiert anzeigen
[kivitendo-erp.git] / bin / mozilla / invoice_io.pl
index 8c803fb..7ff0347 100644 (file)
@@ -34,7 +34,6 @@
 #######################################################################
 
 use CGI;
-use CGI::Ajax;
 use List::Util qw(max);
 
 use SL::Common;
@@ -126,7 +125,8 @@ sub set_pricegroup {
         if ($item->{selected} && ($pricegroup_id != 0)) {
           $form->{"pricegroup_old_$j"} = $pricegroup_id;
           $form->{"price_new_$j"}      = $price;
-          $form->{"sellprice_$j"}      = $price;
+          # edit: don't change the sellprice here
+          # $form->{"sellprice_$j"}      = $price;   # this must only be updated for existing articles, not new ones
         }
         if ($pricegroup_id == 0) {
           $form->{"price_new_$j"} = $form->{"sellprice_$j"};
@@ -146,7 +146,7 @@ sub display_form {
 
   $main::auth->assert('part_service_assembly_edit   | vendor_invoice_edit       | sales_order_edit    | invoice_edit |' .
                 'request_quotation_edit       | sales_quotation_edit      | purchase_order_edit | '.
-                'purchase_delivery_order_edit | sales_delivery_order_edit');
+                'purchase_delivery_order_edit | sales_delivery_order_edit | part_service_assembly_details');
 
   relink_accounts();
   retrieve_partunits() if ($form->{type} =~ /_delivery_order$/);
@@ -162,7 +162,7 @@ sub display_form {
     ::end_of_request();
   }
 
-  Common::webdav_folder($form) if ($main::webdav);
+  Common::webdav_folder($form);
 
   #   if (   $form->{print_and_post}
   #       && $form->{second_run}
@@ -205,8 +205,7 @@ sub display_form {
     my $numrows    = ++$form->{rowcount};
     my $subroutine = "display_row";
 
-    if ($form->{item} eq 'part') {
-
+    if ($form->{item} =~ /(part|service)/) {
       #set preisgruppenanzahl
       $numrows    = $form->{price_rows};
       $subroutine = "price_row";
@@ -225,20 +224,15 @@ sub display_form {
       $numrows    = ++$form->{makemodel_rows};
       $subroutine = "makemodel_row";
 
+      # assemblies are built from components, they aren't purchased from a vendor
+      # also the lastcost_$i from makemodel conflicted with the component lastcost_$i
+      # so we don't need the makemodel rows for assemblies
       # create makemodel rows
-      &{$subroutine}($numrows);
+      &{$subroutine}($numrows);
 
       $numrows    = ++$form->{assembly_rows};
       $subroutine = "assembly_row";
     }
-    if ($form->{item} eq 'service') {
-      $numrows    = $form->{price_rows};
-      $subroutine = "price_row";
-
-      &{$subroutine}($numrows);
-
-      $numrows = 0;
-    }
 
     # create rows
     &{$subroutine}($numrows) if $numrows;