Merge branch 'master' of ssh://lx-office/~/lx-office-erp
[kivitendo-erp.git] / bin / mozilla / io.pl
index c2e4bd4..6377fa6 100644 (file)
@@ -229,7 +229,6 @@ sub display_row {
     }
     my $this_unit = $form->{"unit_$i"};
     $this_unit    = $form->{"selected_unit_$i"} if AM->convert_unit($this_unit, $form->{"selected_unit_$i"}, $all_units);
-    $this_unit  ||= "kg";
 
     if (0 < scalar @{ $form->{ALL_PRICE_FACTORS} }) {
       my @values = ('', map { $_->{id}                      } @{ $form->{ALL_PRICE_FACTORS} });
@@ -811,7 +810,7 @@ sub remove_emptied_rows {
                 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);
+                stock_out stock_in has_sernumber reqdate);
 
   my $ic_cvar_configs = CVar->get_configs(module => 'IC');
   push @flds, map { "ic_cvar_$_->{name}" } @{ $ic_cvar_configs };
@@ -1041,9 +1040,9 @@ sub edit_e_mail {
 
   $form->{email} = $form->{shiptoemail} if $form->{shiptoemail} && $form->{formname} =~ /(pick|packing|bin)_list/;
 
-  if ($form->{"cp_id"} && !$form->{"email"}) {
+  if ($form->{"cp_id"}) {
     CT->get_contact(\%myconfig, $form);
-    $form->{"email"} = $form->{"cp_email"};
+    $form->{"email"} = $form->{"cp_email"} if $form->{"cp_email"};
   }
 
   my $title = $locale->text('E-mail') . " " . $form->get_formname_translation();
@@ -1152,7 +1151,6 @@ sub print_options {
     ) : undef,
     ($form->{type} eq 'invoice' && $form->{storno}) ? (
       opthash("storno_invoice",      $form->{PD}{storno_invoice},      $locale->text('Storno Invoice')),
-      opthash("storno_packing_list", $form->{PD}{storno_packing_list}, $locale->text('Storno Packing List'))
     ) : undef,
     ($form->{type} =~ /_delivery_order$/) ? (
       opthash($form->{type},         $form->{PD}{$form->{type}},       $locale->text('Delivery Order')),
@@ -1166,7 +1164,7 @@ sub print_options {
 
   push @MEDIA, grep $_,
       opthash("screen",              $form->{OP}{screen},              $locale->text('Screen')),
-    (scalar @{ $form->{printers} } && $main::latex_templates) ?
+    ($form->{printers} && scalar @{ $form->{printers} } && $main::latex_templates) ?
       opthash("printer",             $form->{OP}{printer},             $locale->text('Printer')) : undef,
     ($main::latex_templates && !$options{no_queue}) ?
       opthash("queue",               $form->{OP}{queue},               $locale->text('Queue')) : undef
@@ -1298,11 +1296,6 @@ sub print_form {
   if ($form->{formname} eq "invoice") {
     $form->{label} = $locale->text('Invoice');
   }
-  if ($form->{formname} eq "packing_list") {
-
-    # this is from an invoice
-    $form->{label} = $locale->text('Packing List');
-  }
   if ($form->{formname} eq 'sales_order') {
     $inv                  = "ord";
     $due                  = "req";
@@ -1332,17 +1325,6 @@ sub print_form {
     $order                = 1;
   }
 
-  if ($form->{formname} eq 'packing_list' && $form->{type} ne 'invoice') {
-
-    # we use the same packing list as from an invoice
-    $inv = "ord";
-    $due = "req";
-    $form->{invdate} = $form->{"${inv}date"} = $form->{transdate};
-    $form->{label} = $locale->text('Packing List');
-    $order = 1;
-    # set invnumber for template packing_list
-    $form->{invnumber}   = $form->{ordnumber};
-  }
   if ($form->{formname} eq 'purchase_order') {
     $inv                  = "ord";
     $due                  = "req";
@@ -1403,8 +1385,6 @@ sub print_form {
 
   # $locale->text('Invoice Number missing!')
   # $locale->text('Invoice Date missing!')
-  # $locale->text('Packing List Number missing!')
-  # $locale->text('Packing List Date missing!')
   # $locale->text('Order Number missing!')
   # $locale->text('Order Date missing!')
   # $locale->text('Quotation Number missing!')
@@ -1781,7 +1761,7 @@ sub ship_to {
 
   my @shipto_vars =
     qw(shiptoname shiptostreet shiptozipcode shiptocity shiptocountry
-       shiptocontact shiptophone shiptofax shiptoemail
+       shiptocontact shiptocp_gender shiptophone shiptofax shiptoemail
        shiptodepartment_1 shiptodepartment_2);
 
   my @addr_vars =
@@ -1796,6 +1776,19 @@ sub ship_to {
     ? $locale->text('Customer Number')
     : $locale->text('Vendor Number');
 
+  # sieht nicht nett aus, funktioniert aber
+  # das vorausgewählte select-feld wird über shiptocp_gender
+  # entsprechend vorbelegt
+  my $selected_m='';
+  my $selected_f='';
+  if ($form->{shiptocp_gender} eq 'm') {
+    $selected_m='selected';
+    $selected_f='';
+  } elsif ($form->{shiptocp_gender} eq 'f') {
+    $selected_m='';
+    $selected_f='selected';
+  }
+
   # get pricegroups for parts
   IS->get_pricegroups_for_parts(\%myconfig, \%$form);
 
@@ -1868,6 +1861,15 @@ sub ship_to {
           <td>$form->{contact}</td>
           <td><input name="shiptocontact" size="35" value="$form->{shiptocontact}"></td>
         </tr>
+        <tr>
+          <th align="right" nowrap>| . $locale->text('Gender') . qq|</th>
+          <td></td>
+          <td><select id="shiptocp_gender" name="shiptocp_gender">
+              <option value="m"| .  $selected_m . qq|>| . $locale->text('male') . qq|</option>
+              <option value="f"| .  $selected_f . qq|>| . $locale->text('female') . qq|</option>
+              </select>
+          </td>
+        </tr>
         <tr>
           <th align="right" nowrap>| . $locale->text('Phone') . qq|</th>
           <td>$form->{phone}</td>
@@ -1977,11 +1979,7 @@ sub relink_accounts {
   }
   $form->{"taxaccounts"} = "";
 
-  for (my $i = 1; $i <= $form->{"rowcount"}; $i++) {
-    if ($form->{"id_$i"}) {
-      IC->retrieve_accounts(\%myconfig, $form, $form->{"id_$i"}, $i);
-    }
-  }
+  IC->retrieve_accounts(\%myconfig, $form, map { $_ => $form->{"id_$_"} } 1 .. $form->{rowcount});
 
   $main::lxdebug->leave_sub();
 }
@@ -2076,7 +2074,7 @@ sub _update_custom_variables {
 
   my $form     = $main::form;
 
-  $form->{CVAR_CONFIGS}       ||= { };
+  $form->{CVAR_CONFIGS}         = { } unless ref $form->{CVAR_CONFIGS} eq 'HASH';
   $form->{CVAR_CONFIGS}->{IC} ||= CVar->get_configs(module => 'IC');
 
   $main::lxdebug->leave_sub();