summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2014-12-05 08:07:28 -0800
committerIvan Kohler <ivan@freeside.biz>2014-12-05 08:07:28 -0800
commitbe2a6e7068337aa57b04bd7fa88090002d79a64b (patch)
treed8eab71f754f8922c33b9980a30918e239b547b0
parentdba6d338d76835bf3a22ace669c87c718c4332aa (diff)
fix invoice viewing
-rw-r--r--FS/FS/Template_Mixin.pm17
1 files changed, 8 insertions, 9 deletions
diff --git a/FS/FS/Template_Mixin.pm b/FS/FS/Template_Mixin.pm
index b153d3114..346e78167 100644
--- a/FS/FS/Template_Mixin.pm
+++ b/FS/FS/Template_Mixin.pm
@@ -702,12 +702,13 @@ sub print_generic {
# "balance_date_range" unfortunately is unsuitable for this, since it
# cares about application dates. We want to know the sum of all
# _top-level transactions_ dated before the last invoice.
- my @sql = (
- "SELECT COALESCE( SUM(charged), 0 ) FROM cust_bill",
- "SELECT -1 * COALESCE( SUM(amount), 0 ) FROM cust_credit",
- "SELECT -1 * COALESCE( SUM(paid), 0 ) FROM cust_pay",
- "SELECT COALESCE( SUM(refund), 0 ) FROM cust_refund",
- );
+ my @sql =
+ map "$_ WHERE _date <= ? AND custnum = ?", (
+ "SELECT COALESCE( SUM(charged), 0 ) FROM cust_bill",
+ "SELECT -1 * COALESCE( SUM(amount), 0 ) FROM cust_credit",
+ "SELECT -1 * COALESCE( SUM(paid), 0 ) FROM cust_pay",
+ "SELECT COALESCE( SUM(refund), 0 ) FROM cust_refund",
+ );
# the customer's current balance immediately after generating the last
# bill
@@ -715,7 +716,7 @@ sub print_generic {
my $last_bill_balance = $last_bill->charged;
foreach (@sql) {
my $delta = FS::Record->scalar_sql(
- "$_ WHERE _date <= ? AND custnum = ?",
+ $_,
$last_bill->_date - 1,
$self->custnum,
);
@@ -737,13 +738,11 @@ sub print_generic {
# to immediately before this one
my $before_this_bill_balance = 0;
foreach (@sql) {
- #warn "$_\n";
my $delta = FS::Record->scalar_sql(
$_,
$self->_date - 1,
$self->custnum,
);
- #warn "$delta\n";
$before_this_bill_balance += $delta;
}
$invoice_data{'balance_adjustments'} =