"Vertreter" sind Kunden mit Kundentyp mit Vertreter-Flag, nicht die Kundentypen selber
[kivitendo-erp.git] / bin / mozilla / io.pl
index 8f81221..90fdcc2 100644 (file)
@@ -750,7 +750,7 @@ sub check_form {
         #($form->{"sellprice_$i"},$form->{"$pricegroup_old_$i"}) = split /--/, $form->{"sellprice_$i"};
 
         # fuer assemblies auskommentiert. siehe oben
-       #    $form->{sellprice} += ($form->{"qty_$i"} * $form->{"sellprice_$i"} / ($form->{"price_factor_$i"} || 1));
+        #    $form->{sellprice} += ($form->{"qty_$i"} * $form->{"sellprice_$i"} / ($form->{"price_factor_$i"} || 1));
         $form->{weight}    += ($form->{"qty_$i"} * $form->{"weight_$i"} / ($form->{"price_factor_$i"} || 1));
         $count++;
       }
@@ -765,44 +765,9 @@ sub check_form {
     map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) } qw(listprice sellprice lastcost);
 
   } else {
-    my @flds = qw(id partnumber description qty ship sellprice unit
-                  discount inventory_accno income_accno expense_accno listprice
-                  taxaccounts bin assembly weight projectnumber project_id
-                  oldprojectnumber runningnumber serialnumber partsgroup payment_id
-                  not_discountable shop ve gv buchungsgruppen_id language_values
-                  sellprice_pg pricegroup_old price_old price_new unit_old ordnumber
-                  transdate longdescription basefactor marge_total marge_percent
-                  marge_price_factor lastcost price_factor_id partnotes
-                  stock_out stock_in has_sernumber);
-
-    my $ic_cvar_configs = CVar->get_configs(module => 'IC');
-    push @flds, map { "ic_cvar_$_->{name}" } @{ $ic_cvar_configs };
-
-    # this section applies to invoices and orders
-    # remove any empty numbers
-    if ($form->{rowcount}) {
-      for my $i (1 .. $form->{rowcount} - 1) {
-        if ($form->{"partnumber_$i"}) {
-          push @a, {};
-          my $j = $#a;
-
-          map { $a[$j]->{$_} = $form->{"${_}_$i"} } @flds;
-          $count++;
-          if ($main::lizenzen) {
-            if ($form->{"licensenumber_$i"} == -1) {
-              &new_license($i);
-              exit;
-            }
-          }
-        }
-      }
-
-      $form->redo_rows(\@flds, \@a, $count, $form->{rowcount});
-      $form->{rowcount} = $count;
+    remove_emptied_rows(1);
 
-      $form->{creditremaining} -= &invoicetotal;
-
-    }
+    $form->{creditremaining} -= &invoicetotal;
   }
 
   #sk
@@ -825,6 +790,37 @@ sub check_form {
   $main::lxdebug->leave_sub();
 }
 
+sub remove_emptied_rows {
+  my $dont_add_empty = shift;
+  my $form           = $::form;
+
+  return unless $form->{rowcount};
+
+  my @flds = qw(id partnumber description qty ship sellprice unit
+                discount inventory_accno income_accno expense_accno listprice
+                taxaccounts bin assembly weight projectnumber project_id
+                oldprojectnumber runningnumber serialnumber partsgroup payment_id
+                not_discountable shop ve gv buchungsgruppen_id language_values
+                sellprice_pg pricegroup_old price_old price_new unit_old ordnumber
+                transdate longdescription basefactor marge_total marge_percent
+                marge_price_factor lastcost price_factor_id partnotes
+                stock_out stock_in has_sernumber);
+
+  my $ic_cvar_configs = CVar->get_configs(module => 'IC');
+  push @flds, map { "ic_cvar_$_->{name}" } @{ $ic_cvar_configs };
+
+  my @new_rows;
+  for my $i (1 .. $form->{rowcount} - 1) {
+    next unless $form->{"partnumber_$i"};
+
+    push @new_rows, { map { $_ => $form->{"${_}_$i" } } @flds };
+  }
+
+  my $new_rowcount = scalar @new_rows;
+  $form->redo_rows(\@flds, \@new_rows, $new_rowcount, $form->{rowcount});
+  $form->{rowcount} = $new_rowcount + ($dont_add_empty ? 0 : 1);
+}
+
 sub invoicetotal {
   $main::lxdebug->enter_sub();
 
@@ -1421,10 +1417,10 @@ sub print_form {
 
       call_sub($display_form);
       # saving the history
-         if(!exists $form->{addition}) {
+      if(!exists $form->{addition}) {
         $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
-           $form->{addition} = "PRINTED";
-           $form->save_history($form->dbconnect(\%myconfig));
+        $form->{addition} = "PRINTED";
+        $form->save_history($form->dbconnect(\%myconfig));
       }
       # /saving the history
       exit;
@@ -1641,16 +1637,16 @@ sub print_form {
   if(!exists $form->{addition}) {
     $form->{snumbers} = qq|ordnumber_| . $form->{ordnumber};
     if($form->{media} =~ /printer/) {
-       $form->{addition} = "PRINTED";
+      $form->{addition} = "PRINTED";
     }
     elsif($form->{media} =~ /email/) {
-       $form->{addition} = "MAILED";
+      $form->{addition} = "MAILED";
     }
     elsif($form->{media} =~ /queue/) {
-       $form->{addition} = "QUEUED";
+      $form->{addition} = "QUEUED";
     }
     elsif($form->{media} =~ /screen/) {
-       $form->{addition} = "SCREENED";
+      $form->{addition} = "SCREENED";
     }
     $form->save_history($form->dbconnect(\%myconfig));
   }
@@ -1809,72 +1805,72 @@ sub ship_to {
   <tr>
     <td>
       <table>
-       <tr class="listheading">
-         <th class="listheading" colspan="2" width="50%">|
+        <tr class="listheading">
+          <th class="listheading" colspan="2" width="50%">|
     . $locale->text('Billing Address') . qq|</th>
-         <th class="listheading" width="50%">|
+          <th class="listheading" width="50%">|
     . $locale->text('Shipping Address') . qq|</th>
-       </tr>
-       <tr height="5"></tr>
-       <tr>
-         <th align="right" nowrap>$number</th>
-         <td>$form->{"$form->{vc}number"}</td>
-       </tr>
-       <tr>
-         <th align="right" nowrap>| . $locale->text('Company Name') . qq|</th>
-         <td>$form->{name}</td>
-         <td><input name="shiptoname" size="35" value="$form->{shiptoname}"></td>
-       </tr>
-       <tr>
-         <th align="right" nowrap>| . $locale->text('Department') . qq|</th>
-         <td>$form->{department_1}</td>
-         <td><input name="shiptodepartment_1" size="35" value="$form->{shiptodepartment_1}"></td>
-       </tr>
-       <tr>
-         <th align="right" nowrap>&nbsp;</th>
-         <td>$form->{department_2}</td>
-         <td><input name="shiptodepartment_2" size="35" value="$form->{shiptodepartment_2}"></td>
-       </tr>
-       <tr>
-         <th align="right" nowrap>| . $locale->text('Street') . qq|</th>
-         <td>$form->{street}</td>
-         <td><input name="shiptostreet" size="35" value="$form->{shiptostreet}"></td>
-       </tr>
-       <tr>
-         <th align="right" nowrap>| . $locale->text('Zipcode') . qq|</th>
-         <td>$form->{zipcode}</td>
-         <td><input name="shiptozipcode" size="35" value="$form->{shiptozipcode}"></td>
-       </tr>
-       <tr>
-         <th align="right" nowrap>| . $locale->text('City') . qq|</th>
-         <td>$form->{city}</td>
-         <td><input name="shiptocity" size="35" value="$form->{shiptocity}"></td>
-       </tr>
-       <tr>
-         <th align="right" nowrap>| . $locale->text('Country') . qq|</th>
-         <td>$form->{country}</td>
-         <td><input name="shiptocountry" size="35" value="$form->{shiptocountry}"></td>
-       </tr>
-       <tr>
-         <th align="right" nowrap>| . $locale->text('Contact') . qq|</th>
-         <td>$form->{contact}</td>
-         <td><input name="shiptocontact" size="35" value="$form->{shiptocontact}"></td>
-       </tr>
-       <tr>
-         <th align="right" nowrap>| . $locale->text('Phone') . qq|</th>
-         <td>$form->{phone}</td>
-         <td><input name="shiptophone" size="20" value="$form->{shiptophone}"></td>
-       </tr>
-       <tr>
-         <th align="right" nowrap>| . $locale->text('Fax') . qq|</th>
-         <td>$form->{fax}</td>
-         <td><input name="shiptofax" size="20" value="$form->{shiptofax}"></td>
-       </tr>
-       <tr>
-         <th align="right" nowrap>| . $locale->text('E-mail') . qq|</th>
-         <td>$form->{email}</td>
-         <td><input name="shiptoemail" size="35" value="$form->{shiptoemail}"></td>
-       </tr>
+        </tr>
+        <tr height="5"></tr>
+        <tr>
+          <th align="right" nowrap>$number</th>
+          <td>$form->{"$form->{vc}number"}</td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('Company Name') . qq|</th>
+          <td>$form->{name}</td>
+          <td><input name="shiptoname" size="35" value="$form->{shiptoname}"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('Department') . qq|</th>
+          <td>$form->{department_1}</td>
+          <td><input name="shiptodepartment_1" size="35" value="$form->{shiptodepartment_1}"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>&nbsp;</th>
+          <td>$form->{department_2}</td>
+          <td><input name="shiptodepartment_2" size="35" value="$form->{shiptodepartment_2}"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('Street') . qq|</th>
+          <td>$form->{street}</td>
+          <td><input name="shiptostreet" size="35" value="$form->{shiptostreet}"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('Zipcode') . qq|</th>
+          <td>$form->{zipcode}</td>
+          <td><input name="shiptozipcode" size="35" value="$form->{shiptozipcode}"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('City') . qq|</th>
+          <td>$form->{city}</td>
+          <td><input name="shiptocity" size="35" value="$form->{shiptocity}"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('Country') . qq|</th>
+          <td>$form->{country}</td>
+          <td><input name="shiptocountry" size="35" value="$form->{shiptocountry}"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('Contact') . qq|</th>
+          <td>$form->{contact}</td>
+          <td><input name="shiptocontact" size="35" value="$form->{shiptocontact}"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('Phone') . qq|</th>
+          <td>$form->{phone}</td>
+          <td><input name="shiptophone" size="20" value="$form->{shiptophone}"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('Fax') . qq|</th>
+          <td>$form->{fax}</td>
+          <td><input name="shiptofax" size="20" value="$form->{shiptofax}"></td>
+        </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('E-mail') . qq|</th>
+          <td>$form->{email}</td>
+          <td><input name="shiptoemail" size="35" value="$form->{shiptoemail}"></td>
+        </tr>
       </table>
     </td>
   </tr>
@@ -2077,7 +2073,7 @@ sub _update_custom_variables {
 }
 
 sub _render_custom_variables_inputs {
-  $main::lxdebug->enter_sub();
+  $main::lxdebug->enter_sub(2);
 
   my $form     = $main::form;
 
@@ -2114,5 +2110,5 @@ sub _render_custom_variables_inputs {
                              };
   }
 
-  $main::lxdebug->leave_sub();
+  $main::lxdebug->leave_sub(2);
 }