From: Ivan Kohler Date: Tue, 31 Jan 2017 13:50:52 +0000 (-0800) Subject: fix perf issues displaying bulk invoices w/100k+ services, RT#74103 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=67ce801775e44289e9868593d58bfa78aed2ae45 fix perf issues displaying bulk invoices w/100k+ services, RT#74103 --- diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm index d7add719f..5e85f8ec8 100644 --- a/FS/FS/Template_Mixin.pm +++ b/FS/FS/Template_Mixin.pm @@ -3338,19 +3338,24 @@ sub _items_cust_bill_pkg { && ! $cust_bill_pkg->recur_show_zero; my @d = (); - my $svc_label; - - # always pass the svc_label through to the template, even if - # not displaying it as an ext_description - my @svc_labels = map &{$escape_function}($_), - $cust_pkg->h_labels_short($self->_date, - undef, - 'I', - $self->conf->{locale}, - ); - $svc_label = $svc_labels[0]; - - unless ( $cust_pkg->part_pkg->hide_svc_detail + my @svc_labels = (); + my $svc_label = ''; + + unless ( $part_pkg->hide_svc_detail ) { + + # still pass the svc_label through to the template, even if + # not displaying it as an ext_description + @svc_labels = map &{$escape_function}($_), + $cust_pkg->h_labels_short($self->_date, + undef, + 'I', + $self->conf->{locale}, + ); + $svc_label = $svc_labels[0]; + + } + + unless ( $part_pkg->hide_svc_detail || $cust_bill_pkg->hidden ) { @@ -3427,6 +3432,7 @@ sub _items_cust_bill_pkg { my @d = (); my @seconds = (); # for display of usage info + my @svc_labels = (); my $svc_label = ''; #at least until cust_bill_pkg has "past" ranges in addition to @@ -3436,11 +3442,13 @@ sub _items_cust_bill_pkg { push @dates, $prev->sdate if $prev; push @dates, undef if !$prev; - my @svc_labels = map &{$escape_function}($_), - $cust_pkg->h_labels_short(@dates, - 'I', - $self->conf->{locale}); - $svc_label = $svc_labels[0]; + unless ( $part_pkg->hide_svc_detail ) { + @svc_labels = map &{$escape_function}($_), + $cust_pkg->h_labels_short(@dates, + 'I', + $self->conf->{locale}); + $svc_label = $svc_labels[0]; + } # show service labels, unless... # the package is set not to display them