From: Mitch Jackson Date: Wed, 30 Jan 2019 12:06:01 +0000 (-0500) Subject: RT# 76181 Invoice date format can set locale from Freeside conf X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=605828762e3553da730e101d65fe7ae143ddc7fb RT# 76181 Invoice date format can set locale from Freeside conf Invoice date formatting chooses localization from * invoice customer record $cust_main->locale * or FS::Conf 'locale' * or fallback en_US --- diff --git a/FS/FS/cust_main_Mixin.pm b/FS/FS/cust_main_Mixin.pm index 6a2e9058c..c36b79a8a 100644 --- a/FS/FS/cust_main_Mixin.pm +++ b/FS/FS/cust_main_Mixin.pm @@ -660,13 +660,13 @@ sub time2str_local { $self->{_date_format} ||= {}; if (!exists($self->{_dh})) { - my $cust_main = $self->cust_main; - my $locale = $cust_main->locale if $cust_main; - $locale ||= 'en_US'; + my $locale = $self->cust_main->locale if $self->cust_main; + $locale ||= FS::Conf->new->config('locale') || 'en_US'; + my %info = FS::Locales->locale_info($locale); - my $dh = eval { Date::Language->new($info{'name'}) } || - Date::Language->new(); # fall back to English - $self->{_dh} = $dh; + + $self->{_dh} = eval { Date::Language->new($info{'name'}) } + || Date::Language->new(); # fall back to English } if ($format eq 'short') {