summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2016-07-06 13:57:20 -0700
committerMark Wells <mark@freeside.biz>2016-07-06 13:57:20 -0700
commita983ba996fbd3d432443eff8afc4b09bb48ec443 (patch)
tree704e99caabb52a5c785e848da90c77c3259b4c19
parent5c1f29673647a123c6ccb0e999676f286ce0b9f6 (diff)
payment terms localiation, #71549
-rw-r--r--FS/FS/Conf.pm18
-rw-r--r--FS/FS/Upgrade.pm8
-rw-r--r--conf/invoice_html2
-rw-r--r--conf/invoice_latex2
-rw-r--r--httemplate/elements/select-terms.html5
5 files changed, 23 insertions, 12 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index a0eaab5..672d489 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 a374d39..01e698e 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 9d6f528..d8a2d0a 100644
--- a/conf/invoice_html
+++ b/conf/invoice_html
@@ -122,7 +122,7 @@
$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>
diff --git a/conf/invoice_latex b/conf/invoice_latex
index 2a0f882..fd0f952 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 a330df1..eda439a 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} } : ();