summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/TemplateItem_Mixin.pm23
-rw-r--r--FS/FS/detail_format.pm7
2 files changed, 19 insertions, 11 deletions
diff --git a/FS/FS/TemplateItem_Mixin.pm b/FS/FS/TemplateItem_Mixin.pm
index 248da3c..28fbd59 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 be84680..d032100 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