summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2014-01-29 18:34:16 -0800
committerMark Wells <mark@freeside.biz>2014-01-30 12:48:50 -0800
commit4e082c20bcb6754f6f832cfc95d45198a2b920f5 (patch)
treecb9fd1846adbd9d9df167976bf89cc243cf5e3a6
parent6c442603b4c7e03cac88a425355eb50abd10d569 (diff)
make date_format a localized config option, #27276
-rw-r--r--FS/FS/Conf.pm2
-rw-r--r--FS/FS/Template_Mixin.pm42
-rw-r--r--FS/FS/cust_bill.pm13
3 files changed, 24 insertions, 33 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 597d19327..415b90a78 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -1061,6 +1061,7 @@ sub reason_type_options {
'%d/%m/%Y' => 'DD/MM/YYYY',
'%Y/%m/%d' => 'YYYY/MM/DD',
],
+ 'per_locale' => 1,
},
{
@@ -1075,6 +1076,7 @@ sub reason_type_options {
'%d/%m/%Y' => 'DD/MM/YYYY',
'%Y/%m/%d' => 'YYYY/MM/DD',
],
+ 'per_locale' => 1,
},
{
diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm
index c8e554658..00151ae26 100644
--- a/FS/FS/Template_Mixin.pm
+++ b/FS/FS/Template_Mixin.pm
@@ -2,7 +2,7 @@ package FS::Template_Mixin;
use strict;
use vars qw( $DEBUG $me
- $money_char $date_format $rdate_format $date_format_long );
+ $money_char );
# but NOT $conf
use vars qw( $invoice_lines @buf ); #yuck
use List::Util qw(sum);
@@ -27,9 +27,6 @@ $me = '[FS::Template_Mixin]';
FS::UID->install_callback( sub {
my $conf = new FS::Conf; #global
$money_char = $conf->config('money_char') || '$';
- $date_format = $conf->config('date_format') || '%x'; #/YY
- $rdate_format = $conf->config('date_format') || '%m/%d/%Y'; #/YYYY
- $date_format_long = $conf->config('date_format_long') || '%b %o, %Y';
} );
=item conf [ MODE ]
@@ -406,14 +403,6 @@ sub print_generic {
my $escape_function_nonbsp = ($format eq 'html')
? \&_html_escape : $escape_function;
- my %date_formats = ( 'latex' => $date_format_long,
- 'html' => $date_format_long,
- 'template' => '%s',
- );
- $date_formats{'html'} =~ s/ /&nbsp;/g;
-
- my $date_format = $date_formats{$format};
-
my %newline_tokens = ( 'latex' => '\\\\',
'html' => '<br>',
'template' => "\n",
@@ -498,14 +487,14 @@ sub print_generic {
'_date' => ( $params{'no_date'} ? '' : $self->_date ),
'date' => ( $params{'no_date'}
? ''
- : $self->time2str_local($date_format, $self->_date)
+ : $self->time2str_local('long', $self->_date, $format)
),
- 'today' => $self->time2str_local($date_format_long, $today),
+ 'today' => $self->time2str_local('long', $today, $format),
'terms' => $self->terms,
'template' => $template, #params{'template'},
'notice_name' => $notice_name, # escape?
'current_charges' => sprintf("%.2f", $self->charged),
- 'duedate' => $self->due_date2str($rdate_format), #date_format?
+ 'duedate' => $self->due_date2str('rdate'), #date_format?
#customer info
'custnum' => $cust_main->display_custnum,
@@ -547,7 +536,7 @@ sub print_generic {
#localization
$invoice_data{'emt'} = sub { &$escape_function($self->mt(@_)) };
# prototype here to silence warnings
- $invoice_data{'time2str'} = sub ($;$$) { $self->time2str_local(@_) };
+ $invoice_data{'time2str'} = sub ($;$$) { $self->time2str_local(@_, $format) };
my $min_sdate = 999999999999;
my $max_edate = 0;
@@ -560,9 +549,10 @@ sub print_generic {
}
$invoice_data{'bill_period'} = '';
- $invoice_data{'bill_period'} = $self->time2str_local('%e %h', $min_sdate)
- . " to " .
- $self->time2str_local('%e %h', $max_edate)
+ $invoice_data{'bill_period'} =
+ $self->time2str_local('%e %h', $min_sdate, $format)
+ . " to " .
+ $self->time2str_local('%e %h', $max_edate, $format)
if ($max_edate != 0 && $min_sdate != 999999999999);
$invoice_data{finance_section} = '';
@@ -670,7 +660,7 @@ sub print_generic {
next if $cust_pay->_date > $self->_date;
push @payments, {
'_date' => $cust_pay->_date,
- 'date' => time2str($date_format, $cust_pay->_date),
+ 'date' => $self->time2str_local('long', $cust_pay->_date, $format),
'payinfo' => $cust_pay->payby_payinfo_pretty,
'amount' => sprintf('%.2f', $cust_pay->paid),
};
@@ -685,7 +675,7 @@ sub print_generic {
next if $cust_credit->_date > $self->_date;
push @credits, {
'_date' => $cust_credit->_date,
- 'date' => time2str($date_format, $cust_credit->_date),
+ 'date' => $self->time2str_local('long', $cust_credit->_date, $format),
'creditreason'=> $cust_credit->reason,
'amount' => sprintf('%.2f', $cust_credit->amount),
};
@@ -1725,7 +1715,7 @@ sub balance_due_msg {
return $msg unless $self->terms;
if ( $self->due_date ) {
$msg .= ' - ' . $self->mt('Please pay by'). ' '.
- $self->due_date2str($date_format);
+ $self->due_date2str('short');
} elsif ( $self->terms ) {
$msg .= ' - '. $self->terms;
}
@@ -1738,7 +1728,7 @@ sub balance_due_date {
my $duedate = '';
if ( $conf->exists('invoice_default_terms')
&& $conf->config('invoice_default_terms')=~ /^\s*Net\s*(\d+)\s*$/ ) {
- $duedate = $self->time2str_local($rdate_format, $self->_date + ($1*86400) );
+ $duedate = $self->time2str_local('rdate', $self->_date + ($1*86400) );
}
$duedate;
}
@@ -1756,7 +1746,7 @@ Returns a string with the date, for example: "3/20/2008"
sub _date_pretty {
my $self = shift;
- $self->time2str_local($date_format, $self->_date);
+ $self->time2str_local('short', $self->_date);
}
=item _items_sections OPTIONS
@@ -2756,8 +2746,8 @@ sub _items_cust_bill_pkg {
if ( $cust_bill_pkg->recur != 0 ) {
push @b, {
'description' => "$desc (".
- $self->time2str_local($date_format, $cust_bill_pkg->sdate). ' - '.
- $self->time2str_local($date_format, $cust_bill_pkg->edate). ')',
+ $self->time2str_local('short', $cust_bill_pkg->sdate). ' - '.
+ $self->time2str_local('short', $cust_bill_pkg->edate). ')',
'amount' => sprintf("%.2f", $cust_bill_pkg->recur),
};
}
diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm
index 165bb1a91..83ddb6566 100644
--- a/FS/FS/cust_bill.pm
+++ b/FS/FS/cust_bill.pm
@@ -2,7 +2,7 @@ package FS::cust_bill;
use base qw( FS::Template_Mixin FS::cust_main_Mixin FS::Record );
use strict;
-use vars qw( $DEBUG $me $date_format );
+use vars qw( $DEBUG $me );
# but NOT $conf
use Fcntl qw(:flock); #for spool_csv
use Cwd;
@@ -44,7 +44,6 @@ $me = '[FS::cust_bill]';
#ask FS::UID to run this stuff for us later
FS::UID->install_callback( sub {
my $conf = new FS::Conf; #global
- $date_format = $conf->config('date_format') || '%x'; #/YY
} );
=head1 NAME
@@ -1966,7 +1965,7 @@ sub print_csv {
my $taxtotal = 0;
$taxtotal += $_->{'amount'} foreach $self->_items_tax;
- my $duedate = $self->due_date2str('%m/%d/%Y'); #date_format?
+ my $duedate = $self->due_date2str('%m/%d/%Y'); # hardcoded, NOT date_format
my( $previous_balance, @unused ) = $self->previous; #previous balance
@@ -2966,8 +2965,8 @@ sub _items_previous {
my @b = ();
foreach ( @pr_cust_bill ) {
my $date = $conf->exists('invoice_show_prior_due_date')
- ? 'due '. $_->due_date2str($date_format)
- : $self->time2str_local($date_format, $_->_date);
+ ? 'due '. $_->due_date2str('short')
+ : $self->time2str_local('short', $_->_date);
push @b, {
'description' => $self->mt('Previous Balance, Invoice #'). $_->invnum. " ($date)",
#'pkgpart' => 'N/A',
@@ -3031,7 +3030,7 @@ sub _items_credits {
# " (". time2str("%x",$_->cust_credit->_date) .")".
# $reason,
'description' => $self->mt('Credit applied').' '.
- $self->time2str_local($date_format,$obj->_date). $reason,
+ $self->time2str_local('short', $obj->_date). $reason,
'amount' => sprintf("%.2f",$obj->amount),
};
}
@@ -3075,7 +3074,7 @@ sub _items_payments {
foreach my $obj (@objects) {
my $cust_pay = $obj->isa('FS::cust_pay') ? $obj : $obj->cust_pay;
my $desc = $self->mt('Payment received').' '.
- $self->time2str_local($date_format, $cust_pay->_date );
+ $self->time2str_local('short', $cust_pay->_date );
$desc .= $self->mt(' via ') .
$cust_pay->payby_payinfo_pretty( $self->cust_main->locale )
if $detailed;