Das Feld "Gewichtseinheit" in den Einstellungen wieder eingeführt und in den Warensta...
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 15 May 2009 09:03:50 +0000 (09:03 +0000)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 15 May 2009 09:03:50 +0000 (09:03 +0000)
Fix für Bug 963.

SL/AM.pm
bin/mozilla/ic.pl
locale/de/all
templates/webpages/am/edit_defaults_de.html
templates/webpages/am/edit_defaults_master.html
templates/webpages/ic/form_header_de.html
templates/webpages/ic/form_header_master.html

index 5ffb6a1..7b3b736 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -1474,7 +1474,8 @@ sub save_defaults {
         pdonumber          = ?,
         yearend            = ?,
         curr               = ?,
-        businessnumber     = ?|;
+        businessnumber     = ?,
+        weightunit         = ?|;
   my @values = ($accnos{inventory_accno}, $accnos{income_accno}, $accnos{expense_accno},
                 $accnos{fxgain_accno},    $accnos{fxloss_accno},
                 $form->{invnumber},       $form->{cnnumber},
@@ -1484,7 +1485,7 @@ sub save_defaults {
                 $form->{articlenumber},   $form->{servicenumber},
                 $form->{sdonumber},       $form->{pdonumber},
                 $form->{yearend},         $currency,
-                $form->{businessnumber});
+                $form->{businessnumber},  $form->{weightunit});
   do_query($form, $dbh, $query, @values);
 
   $dbh->commit();
@@ -1574,6 +1575,26 @@ sub save_preferences {
   return $rc;
 }
 
+sub get_defaults {
+  $main::lxdebug->enter_sub();
+
+  my $self     = shift;
+  my %params   = @_;
+
+  my $myconfig = \%main::myconfig;
+  my $form     = $main::form;
+
+  my $dbh      = $params{dbh} || $form->get_standard_dbh($myconfig);
+
+  my $defaults = selectfirst_hashref_query($form, $dbh, qq|SELECT * FROM defaults|) || {};
+
+  $defaults->{weightunit} ||= 'kg';
+
+  $main::lxdebug->leave_sub();
+
+  return $defaults;
+}
+
 sub defaultaccounts {
   $main::lxdebug->enter_sub();
 
@@ -1587,12 +1608,14 @@ sub defaultaccounts {
   my $sth   = $dbh->prepare($query);
   $sth->execute || $form->dberror($query);
 
-  $form->{defaults}             = $sth->fetchrow_hashref(NAME_lc);
-  $form->{defaults}{IC}         = $form->{defaults}{inventory_accno_id};
-  $form->{defaults}{IC_income}  = $form->{defaults}{income_accno_id};
-  $form->{defaults}{IC_expense} = $form->{defaults}{expense_accno_id};
-  $form->{defaults}{FX_gain}    = $form->{defaults}{fxgain_accno_id};
-  $form->{defaults}{FX_loss}    = $form->{defaults}{fxloss_accno_id};
+  $form->{defaults}               = $sth->fetchrow_hashref(NAME_lc);
+  $form->{defaults}{IC}           = $form->{defaults}{inventory_accno_id};
+  $form->{defaults}{IC_income}    = $form->{defaults}{income_accno_id};
+  $form->{defaults}{IC_expense}   = $form->{defaults}{expense_accno_id};
+  $form->{defaults}{FX_gain}      = $form->{defaults}{fxgain_accno_id};
+  $form->{defaults}{FX_loss}      = $form->{defaults}{fxloss_accno_id};
+
+  $form->{defaults}{weightunit} ||= 'kg';
 
   $sth->finish;
 
index d75436c..a373249 100644 (file)
@@ -34,6 +34,7 @@
 use POSIX qw(strftime);
 use List::Util qw(max);
 
+use SL::AM;
 use SL::IC;
 use SL::ReportGenerator;
 
@@ -1191,6 +1192,8 @@ sub generate_report {
   my $idx       = 0;
   my $same_item = $form->{parts}[0]{ $form->{sort} } if (scalar @{ $form->{parts} });
 
+  my $defaults  = AM->get_defaults();
+
   # postprocess parts
   foreach my $ref (@{ $form->{parts} }) {
 
@@ -1223,6 +1226,8 @@ sub generate_report {
 
     map { $row->{$_}{data} = $form->format_amount(\%myconfig, $ref->{$_}); } qw(onhand rop weight soldtotal);
 
+    $row->{weight}->{data} .= ' ' . $defaults->{weightunit};
+
     if (!$ref->{assemblyitem}) {
       foreach my $col (@subtotal_columns) {
         $totals{$col}    += $onhand * $ref->{$col};
@@ -1460,7 +1465,7 @@ sub form_header {
 
   $form->get_lists('price_factors' => 'ALL_PRICE_FACTORS',
                    'partsgroup'    => 'all_partsgroup',
-                   'vendors'       => 'ALL_VENDORS',);
+                   'vendors'       => 'ALL_VENDORS',);
 
 
   IC->retrieve_buchungsgruppen(\%myconfig, $form);
@@ -1472,6 +1477,8 @@ sub form_header {
   $units = AM->retrieve_units(\%myconfig, $form);
   $form->{ALL_UNITS} = [ map +{ name => $_ }, sort { $units->{$a}{sortkey} <=> $units->{$b}{sortkey} } keys %$units ];
 
+  $form->{defaults} = AM->get_defaults();
+
   $form->{fokus} = "ic.partnumber";
 
   $form->header;
index 7270f78..81cdf42 100644 (file)
@@ -1706,6 +1706,7 @@ $self->{texts} = {
   'Warnings during template upgrade' => 'Warnungen bei Aktualisierung der Dokumentenvorlagen',
   'WebDAV link'                 => 'WebDAV-Link',
   'Weight'                      => 'Gewicht',
+  'Weight unit'                 => 'Gewichtseinheit',
   'What type of item is this?'  => 'Was ist dieser Artikel?',
   'What\'s the <b>term</b> you\'re looking for?' => 'Nach welchem <b>Begriff</b> wollen Sie suchen?',
   'With Extension Of Time'      => 'mit Dauerfristverlängerung',
index c4492c7..ffd534d 100644 (file)
      <td colspan="3"><input name="curr" size="20" value="[% HTML.escape(defaults_curr) %]"></td>
     </tr>
 
+    <tr>
+     <th align="right">Gewichtseinheit</th>
+     <td colspan="3"><input name="weightunit" size="20" maxlength="5" value="[% HTML.escape(defaults_weightunit) %]"></td>
+    </tr>
+
    </table>
   </p>
 
index e7fe5a2..47693c6 100644 (file)
      <td colspan="3"><input name="curr" size="20" value="[% HTML.escape(defaults_curr) %]"></td>
     </tr>
 
+    <tr>
+     <th align="right"><translate>Weight unit</translate></th>
+     <td colspan="3"><input name="weightunit" size="20" maxlength="5" value="[% HTML.escape(defaults_weightunit) %]"></td>
+    </tr>
+
    </table>
   </p>
 
index a3e8e00..7a14a5a 100644 (file)
            <td>
             [%- IF is_assembly %]&nbsp;[% LxERP.format_amount(weight) %][%- END %]
             <input[% IF is_assembly %] type="hidden"[% END %] size="10" name="weight" value="[% LxERP.format_amount(weight) %]">
+            [% HTML.escape(defaults.weightunit) %]
            </td>
           </tr>
         [%- END %]
index b99d6f5..bbb87d3 100644 (file)
            <td>
             [%- IF is_assembly %]&nbsp;[% LxERP.format_amount(weight) %][%- END %]
             <input[% IF is_assembly %] type="hidden"[% END %] size="10" name="weight" value="[% LxERP.format_amount(weight) %]">
+            [% HTML.escape(defaults.weightunit) %]
            </td>
           </tr>
         [%- END %]