[freeside-commits] branch master updated. 0feb608d2333f8709e02af8aa68f2da3e5deb581
Mark Wells
mark at 420.am
Sat Dec 6 13:01:14 PST 2014
The branch, master has been updated
via 0feb608d2333f8709e02af8aa68f2da3e5deb581 (commit)
from 0eedfd553057f9fd8d69197675f33dbc893e6c51 (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 0feb608d2333f8709e02af8aa68f2da3e5deb581
Author: Mark Wells <mark at freeside.biz>
Date: Sat Dec 6 13:01:09 2014 -0800
avoid double-counting package-classed fees on the sales report, #32472
diff --git a/FS/FS/Report/Table.pm b/FS/FS/Report/Table.pm
index 934287a..69686df 100644
--- a/FS/FS/Report/Table.pm
+++ b/FS/FS/Report/Table.pm
@@ -886,14 +886,24 @@ sub with_classnum {
@$classnum = grep /^\d+$/, @$classnum;
my $in = 'IN ('. join(',', @$classnum). ')';
- my $expr = "
- ( COALESCE(part_pkg.classnum, 0) $in AND pkgpart_override IS NULL)
- OR ( COALESCE(part_fee.classnum, 0) $in AND feepart IS NOT NULL )";
if ( $use_override ) {
- $expr .= "
- OR ( COALESCE(override.classnum, 0) $in AND pkgpart_override IS NOT NULL )";
+ # then include packages if their base package is in the set and they are
+ # not overridden,
+ # or if they are overridden and their override package is in the set,
+ # or fees if they are in the set
+ return "(
+ ( COALESCE(part_pkg.classnum, 0) $in AND cust_pkg.pkgpart IS NOT NULL AND pkgpart_override IS NULL )
+ OR ( COALESCE(override.classnum, 0) $in AND pkgpart_override IS NOT NULL )
+ OR ( COALESCE(part_fee.classnum, 0) $in AND cust_bill_pkg.feepart IS NOT NULL )
+ )";
+ } else {
+ # include packages if their base package is in the set,
+ # or fees if they are in the set
+ return "(
+ ( COALESCE(part_pkg.classnum, 0) $in AND cust_pkg.pkgpart IS NOT NULL )
+ OR ( COALESCE(part_fee.classnum, 0) $in AND cust_bill_pkg.feepart IS NOT NULL )
+ )";
}
- "( $expr )";
}
sub with_usageclass {
-----------------------------------------------------------------------
Summary of changes:
FS/FS/Report/Table.pm | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
More information about the freeside-commits
mailing list