payment terms localization, #71549
authorMark Wells <mark@freeside.biz>
Wed, 6 Jul 2016 20:57:20 +0000 (13:57 -0700)
committerMark Wells <mark@freeside.biz>
Wed, 6 Jul 2016 20:58:25 +0000 (13:58 -0700)
FS/FS/Conf.pm
FS/FS/Upgrade.pm
conf/invoice_html
conf/invoice_latex
httemplate/elements/select-terms.html

index 8c131a1..cf505de 100644 (file)
@@ -2,6 +2,9 @@ package FS::Conf;
 
 use vars qw($base_dir @config_items @base_items @card_types $DEBUG);
 use strict;
+use vars qw( $base_dir @config_items @base_items @card_types @invoice_terms
+             $DEBUG
+           );
 use Carp;
 use IO::File;
 use File::Basename;
@@ -689,6 +692,14 @@ logo.png
 logo.eps
 );
 
+@invoice_terms = (
+  '',
+  'Payable upon receipt',
+  'Net 0', 'Net 3', 'Net 5', 'Net 7', 'Net 9', 'Net 10', 'Net 14', 
+  'Net 15', 'Net 18', 'Net 20', 'Net 21', 'Net 25', 'Net 30', 'Net 45', 
+  'Net 60', 'Net 90'
+);
+
 my %msg_template_options = (
   'type'        => 'select-sub',
   'options_sub' => sub { 
@@ -1656,11 +1667,8 @@ and customer address. Include units.',
     'description' => 'Optional default invoice term, used to calculate a due date printed on invoices.',
     'type'        => 'select',
     'per_agent'   => 1,
-    'select_enum' => [ 
-      '', 'Payable upon receipt', 'Net 0', 'Net 3', 'Net 5', 'Net 7', 'Net 9', 'Net 10', 'Net 14', 
-      'Net 15', 'Net 18', 'Net 20', 'Net 21', 'Net 25', 'Net 30', 'Net 45', 
-      'Net 60', 'Net 90'
-    ], },
+    'select_enum' => \@invoice_terms,
+  },
 
   { 
     'key'         => 'invoice_show_prior_due_date',
index b0a2713..377a0b1 100644 (file)
@@ -161,6 +161,14 @@ If you need to continue using the old Form 477 report, turn on the
     $conf->delete('unsuspendauto');
   }
 
+  # if translate-auto-insert is enabled for a locale, ensure that invoice
+  # terms are in the msgcat (is there a better place for this?)
+  if (my $auto_locale = $conf->config('translate-auto-insert')) {
+    my $lh = FS::L10N->get_handle($auto_locale);
+    foreach (@FS::Conf::invoice_terms) {
+      $lh->maketext($_) if length($_);
+    }
+  }
 }
 
 sub upgrade_overlimit_groups {
index 9d6f528..d8a2d0a 100644 (file)
            $OUT .= qq! <img src="cust_bill-barcode.cgi?invnum=$invnum;template=$template"><br> !;
        }
     %>
-        <%= $terms ? emt('Terms') . ": $terms" : '' %><BR>
+        <%= $terms ? emt('Terms') . ': ' . emt($terms) : '' %><BR>
         <%= $po_line %>
       </td>
     </tr>
index 2a0f882..fd0f952 100644 (file)
   }\r
 --@]\r
 \begin{flushright}\r
-[@-- $terms ? emt('Terms') .": $terms" : '' --@]\\\r
+[@-- $terms ? emt('Terms') . ': ' . emt($terms) : '' --@]\\\r
 [@-- $po_line --@]\\\r
 \end{flushright}\r
 \end{minipage}}\r
index a330df1..eda439a 100644 (file)
@@ -34,10 +34,7 @@ my $empty_label =
 
 my $empty_value = $opt{'empty_value'} || '';
 
-my @terms = ( emt('Payable upon receipt'),
-              ( map "Net $_",
-                0, 3, 5, 7, 9, 10, 14, 15, 18, 20, 21, 25, 30, 45, 60, 90 ),
-            );
+my @terms = map emt($_), @FS::Conf::invoice_terms;
 
 my @pre_options = $opt{pre_options} ? @{ $opt{pre_options} } : ();