[freeside-commits] branch master updated. a4245323f5dad7d8e9d19f2be4e3f5b036274276
Mark Wells
mark at 420.am
Wed Sep 9 00:19:10 PDT 2015
The branch, master has been updated
via a4245323f5dad7d8e9d19f2be4e3f5b036274276 (commit)
from 1813f9f4ff4d48ad6bf76d70c01edd67c5a4bfa4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a4245323f5dad7d8e9d19f2be4e3f5b036274276
Author: Mark Wells <mark at freeside.biz>
Date: Wed Sep 9 00:18:16 2015 -0700
fix weird behavior with bundles where base package has zero recur, #32460
diff --git a/FS/FS/cust_main/Billing.pm b/FS/FS/cust_main/Billing.pm
index 5c10c63..2d7b690 100644
--- a/FS/FS/cust_main/Billing.pm
+++ b/FS/FS/cust_main/Billing.pm
@@ -880,6 +880,7 @@ sub bill {
}
#discard bundled packages of 0 value
+# XXX we should reconsider whether we even need this
sub _omit_zero_value_bundles {
my @in = @_;
@@ -888,11 +889,20 @@ sub _omit_zero_value_bundles {
my $discount_show_always = $conf->exists('discount-show-always');
my $show_this = 0;
+ # Sort @in the same way we do during invoice rendering, so we can identify
+ # bundles. See FS::Template_Mixin::_items_nontax.
+ @in = sort { $a->pkgnum <=> $b->pkgnum or
+ $a->sdate <=> $b->sdate or
+ ($a->pkgpart_override ? 0 : -1) or
+ ($b->pkgpart_override ? 0 : 1) or
+ $b->hidden cmp $a->hidden or
+ $a->pkgpart_override <=> $b->pkgpart_override
+ } @in;
+
# this is a pack-and-deliver pattern. every time there's a cust_bill_pkg
# _without_ pkgpart_override, that's the start of the new bundle. if there's
# an existing bundle, and it contains a nonzero amount (or a zero amount
# that's displayable anyway), push all line items in the bundle.
-
foreach my $cust_bill_pkg ( @in ) {
if (scalar(@bundle) and !$cust_bill_pkg->pkgpart_override) {
-----------------------------------------------------------------------
Summary of changes:
FS/FS/cust_main/Billing.pm | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
More information about the freeside-commits
mailing list