From: Mark Wells Date: Sat, 7 Sep 2013 00:32:12 +0000 (-0700) Subject: fix usage summary line for bundled packages in some cases, #13909 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=cbb4e35133ff70b5be47660b0ed2f0fde22ddc19 fix usage summary line for bundled packages in some cases, #13909 --- diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm index dc3b93dd7..db3885443 100644 --- a/FS/FS/Template_Mixin.pm +++ b/FS/FS/Template_Mixin.pm @@ -2542,8 +2542,10 @@ sub _items_cust_bill_pkg { if $DEBUG > 1; my $is_summary = $display->summary; - my $description = ($is_summary && $type && $type eq 'U') - ? "Usage charges" : $desc; + my $description = $desc; + if ( $type eq 'U' and ($is_summary or $cust_bill_pkg->hidden) ) { + $description = $self->mt('Usage charges'); + } my $part_pkg = $cust_pkg->part_pkg; @@ -2701,11 +2703,15 @@ sub _items_cust_bill_pkg { warn "$me _items_cust_bill_pkg adding usage\n" if $DEBUG > 1; - if ( $cust_bill_pkg->hidden ) { + if ( $cust_bill_pkg->hidden and defined($u) ) { + # if this is a hidden package and there's already a usage + # line for the bundle, add this package's total amount and + # usage details to it $u->{amount} += $amount; $u->{unit_amount} += $unit_amount, push @{ $u->{ext_description} }, @d; - } else { + } elsif ( $amount ) { + # create a new usage line $u = { description => $description, pkgpart => $pkgpart, @@ -2717,7 +2723,7 @@ sub _items_cust_bill_pkg { %item_dates, ext_description => \@d, }; - } + } # else this has no usage, so don't create a usage section } } # recurring or usage with recurring charge