From 6fbdc0d20421de8e0d93eb9d332a0683efb994cc Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Mon, 27 Jun 2016 16:39:23 -0700 Subject: [PATCH] localize CDR column headings during rendering, #71331 --- FS/FS/TemplateItem_Mixin.pm | 23 +++++++++++++++++------ FS/FS/detail_format.pm | 7 ++----- httemplate/edit/msgcat.html | 2 +- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/FS/FS/TemplateItem_Mixin.pm b/FS/FS/TemplateItem_Mixin.pm index 248da3cae..28fbd591d 100644 --- a/FS/FS/TemplateItem_Mixin.pm +++ b/FS/FS/TemplateItem_Mixin.pm @@ -258,14 +258,25 @@ sub details { $sth->execute or die $sth->errstr; #avoid the fetchall_arrayref and loop for less memory usage? - - map { (defined($_->[0]) && $_->[0] eq 'C') - ? &{$format_sub}( $_->[1] ) - : &{$escape_function}( $_->[1] ); + # probably should use a cursor... + + my @return; + my $head = 1; + map { + my $row = $_; + if (defined($row->[0]) and $row->[0] eq 'C') { + if ($head) { + # first CSV row = the format header; localize it but not the others + $row->[1] = $self->mt($row->[1]); + $head = 0; } - @{ $sth->fetchall_arrayref }; + &{$format_sub}($row->[1]); + } else { + &{$escape_function}($row->[1]); + } + } @{ $sth->fetchall_arrayref }; - } + } #!$opt{format_function} } diff --git a/FS/FS/detail_format.pm b/FS/FS/detail_format.pm index be84680f9..d032100b3 100644 --- a/FS/FS/detail_format.pm +++ b/FS/FS/detail_format.pm @@ -168,7 +168,7 @@ sub header { my $self = shift; FS::cust_bill_pkg_detail->new( - { 'format' => 'C', 'detail' => $self->mt($self->header_detail) } + { 'format' => 'C', 'detail' => $self->header_detail } ) } @@ -270,10 +270,7 @@ sub time2str_local { $self->{_dh}->time2str(@_); } -sub mt { - my $self = shift; - $self->{_lh}->maketext(@_); -} +# header strings are now localized in FS::TemplateItem_Mixin::detail #imitate previous behavior for now diff --git a/httemplate/edit/msgcat.html b/httemplate/edit/msgcat.html index 4e2edd6d8..5ca118ad7 100644 --- a/httemplate/edit/msgcat.html +++ b/httemplate/edit/msgcat.html @@ -3,7 +3,7 @@ table => 'msgcat', fields => [ { field=>'msgcode', type=>'fixed' }, { field=>'locale', type=>'fixed' }, - 'msg', + { field => 'msg', type => 'text', size => 60 }, ], labels => { 'msgnum' => 'String', 'msgcode' => 'Code', -- 2.11.0