From a983ba996fbd3d432443eff8afc4b09bb48ec443 Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Wed, 6 Jul 2016 13:57:20 -0700 Subject: [PATCH] payment terms localiation, #71549 --- FS/FS/Conf.pm | 18 ++++++++++++------ FS/FS/Upgrade.pm | 8 ++++++++ conf/invoice_html | 2 +- conf/invoice_latex | 2 +- httemplate/elements/select-terms.html | 5 +---- 5 files changed, 23 insertions(+), 12 deletions(-) diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index a0eaab5c7..672d4897a 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -1,7 +1,8 @@ package FS::Conf; use strict; -use vars qw( $base_dir @config_items @base_items @card_types $DEBUG +use vars qw( $base_dir @config_items @base_items @card_types @invoice_terms + $DEBUG $conf_cache $conf_cache_enabled ); use Carp; @@ -616,6 +617,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 { @@ -1521,11 +1530,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', diff --git a/FS/FS/Upgrade.pm b/FS/FS/Upgrade.pm index a374d391d..01e698e1e 100644 --- a/FS/FS/Upgrade.pm +++ b/FS/FS/Upgrade.pm @@ -180,6 +180,14 @@ If you need to continue using the old Form 477 report, turn on the enable_banned_pay_pad() unless length($conf->config('banned_pay-pad')); + # 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 { diff --git a/conf/invoice_html b/conf/invoice_html index 9d6f52842..d8a2d0a97 100644 --- a/conf/invoice_html +++ b/conf/invoice_html @@ -122,7 +122,7 @@ $OUT .= qq!
!; } %> - <%= $terms ? emt('Terms') . ": $terms" : '' %>
+ <%= $terms ? emt('Terms') . ': ' . emt($terms) : '' %>
<%= $po_line %> diff --git a/conf/invoice_latex b/conf/invoice_latex index 2a0f882c1..fd0f95210 100644 --- a/conf/invoice_latex +++ b/conf/invoice_latex @@ -272,7 +272,7 @@ } --@] \begin{flushright} -[@-- $terms ? emt('Terms') .": $terms" : '' --@]\\ +[@-- $terms ? emt('Terms') . ': ' . emt($terms) : '' --@]\\ [@-- $po_line --@]\\ \end{flushright} \end{minipage}} diff --git a/httemplate/elements/select-terms.html b/httemplate/elements/select-terms.html index a330df17c..eda439a4c 100644 --- a/httemplate/elements/select-terms.html +++ b/httemplate/elements/select-terms.html @@ -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} } : (); -- 2.11.0