From c61e51d4aa76614412bdcfd59d21220f2a080d2f Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 2 Aug 2011 05:45:21 +0000 Subject: [PATCH] fix bundled package display, RT#13866 --- FS/FS/cust_bill.pm | 58 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm index a6a782a0c..d8d310a99 100644 --- a/FS/FS/cust_bill.pm +++ b/FS/FS/cust_bill.pm @@ -4608,6 +4608,21 @@ sub _items_cust_bill_pkg { foreach my $cust_bill_pkg ( @$cust_bill_pkgs ) { + foreach ( $s, $r, ($opt{skip_usage} ? () : $u ) ) { + if ( $_ && !$cust_bill_pkg->hidden ) { + $_->{amount} = sprintf( "%.2f", $_->{amount} ), + $_->{amount} =~ s/^\-0\.00$/0.00/; + $_->{unit_amount} = sprintf( "%.2f", $_->{unit_amount} ), + push @b, { %$_ } + if $_->{amount} != 0 + || $discount_show_always + || ( ! $_->{_is_setup} && $_->{recur_show_zero} ) + || ( $_->{_is_setup} && $_->{setup_show_zero} ) + ; + $_ = undef; + } + } + warn "$me _items_cust_bill_pkg considering cust_bill_pkg ". $cust_bill_pkg->billpkgnum. ", pkgnum ". $cust_bill_pkg->pkgnum. "\n" if $DEBUG > 1; @@ -4622,7 +4637,8 @@ sub _items_cust_bill_pkg { ) { - warn "$me _items_cust_bill_pkg considering display item $display\n" + warn "$me _items_cust_bill_pkg considering cust_bill_pkg_display ". + $display->billpkgdisplaynum. "\n" if $DEBUG > 1; my $type = $display->type; @@ -4691,6 +4707,7 @@ sub _items_cust_bill_pkg { #pkgpart => $part_pkg->pkgpart, pkgnum => $cust_bill_pkg->pkgnum, amount => $cust_bill_pkg->setup, + setup_show_zero => $cust_bill_pkg->setup_show_zero, unit_amount => $cust_bill_pkg->unitsetup, quantity => $cust_bill_pkg->quantity, ext_description => \@d, @@ -4797,6 +4814,7 @@ sub _items_cust_bill_pkg { #pkgpart => $part_pkg->pkgpart, pkgnum => $cust_bill_pkg->pkgnum, amount => $amount, + recur_show_zero => $cust_bill_pkg->recur_show_zero, unit_amount => $cust_bill_pkg->unitrecur, quantity => $cust_bill_pkg->quantity, ext_description => \@d, @@ -4818,6 +4836,7 @@ sub _items_cust_bill_pkg { #pkgpart => $part_pkg->pkgpart, pkgnum => $cust_bill_pkg->pkgnum, amount => $amount, + recur_show_zero => $cust_bill_pkg->recur_show_zero, unit_amount => $cust_bill_pkg->unitrecur, quantity => $cust_bill_pkg->quantity, ext_description => \@d, @@ -4854,33 +4873,20 @@ sub _items_cust_bill_pkg { $discount_show_always = ($cust_bill_pkg->cust_bill_pkg_discount && $conf->exists('discount-show-always')); - foreach ( $s, $r, ($opt{skip_usage} ? () : $u ) ) { - if ( $_ && !$cust_bill_pkg->hidden ) { - $_->{amount} = sprintf( "%.2f", $_->{amount} ), - $_->{amount} =~ s/^\-0\.00$/0.00/; - $_->{unit_amount} = sprintf( "%.2f", $_->{unit_amount} ), - push @b, { %$_ } - if $_->{amount} != 0 - || $discount_show_always - || ( ! $_->{_is_setup} && $cust_bill_pkg->recur_show_zero ) - || ( $_->{_is_setup} && $cust_bill_pkg->setup_show_zero ) - ; - $_ = undef; - } - } - } - #foreach ( $s, $r, ($opt{skip_usage} ? () : $u ) ) { - # if ( $_ ) { - # $_->{amount} = sprintf( "%.2f", $_->{amount} ), - # $_->{amount} =~ s/^\-0\.00$/0.00/; - # $_->{unit_amount} = sprintf( "%.2f", $_->{unit_amount} ), - # push @b, { %$_ } - # if $_->{amount} != 0 - # || $discount_show_always - # } - #} + foreach ( $s, $r, ($opt{skip_usage} ? () : $u ) ) { + if ( $_ ) { + $_->{amount} = sprintf( "%.2f", $_->{amount} ), + $_->{amount} =~ s/^\-0\.00$/0.00/; + $_->{unit_amount} = sprintf( "%.2f", $_->{unit_amount} ), + push @b, { %$_ } + if $_->{amount} != 0 + || $discount_show_always + || ( ! $_->{_is_setup} && $_->{recur_show_zero} ) + || ( $_->{_is_setup} && $_->{setup_show_zero} ) + } + } warn "$me _items_cust_bill_pkg done considering cust_bill_pkgs\n" if $DEBUG > 1; -- 2.11.0