[freeside-commits] branch FREESIDE_3_BRANCH updated. d9241243d570234b3816e6cb1a0c33a5afc44e35
Mark Wells
mark at 420.am
Mon Aug 5 16:54:34 PDT 2013
The branch, FREESIDE_3_BRANCH has been updated
via d9241243d570234b3816e6cb1a0c33a5afc44e35 (commit)
from 1a4306ecf7e78c5278030eeae2ce434191db8167 (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 d9241243d570234b3816e6cb1a0c33a5afc44e35
Author: Mark Wells <mark at freeside.biz>
Date: Mon Aug 5 18:04:26 2013 -0500
always bill ipifony charges within the month they were imported, #24325
diff --git a/FS/bin/freeside-ipifony-download b/FS/bin/freeside-ipifony-download
index 9df4db0..51db035 100644
--- a/FS/bin/freeside-ipifony-download
+++ b/FS/bin/freeside-ipifony-download
@@ -183,11 +183,24 @@ FILE: foreach my $filename (@$files) {
if $opt{v};
my $amount = sprintf('%.2f',$hash{quantity} * $hash{unit_price});
+
+ # bill the charge on the customer's next bill date, if that's within
+ # the current calendar month; otherwise bill it immediately
+ # (see RT#24325)
+ my $next_bill_date = $cust_main->next_bill_date;
+ if ( $next_bill_date ) {
+ my ($bill_month, $bill_year) = (localtime($next_bill_date))[4, 5];
+ my ($this_month, $this_year) = (localtime(time))[4, 5];
+ if ( $this_month == $bill_month and $this_year == $bill_year ) {
+ $cust_main->set('charge_date', $next_bill_date);
+ }
+ }
+
# construct arguments for $cust_main->charge
my %charge_opt = (
amount => $hash{unit_price},
quantity => $hash{quantity},
- start_date => $cust_main->next_bill_date,
+ start_date => $cust_main->get('charge_date'),
pkg => $hash{date_desc} .
' (' . $hash{quantity} . ' @ $' . $hash{unit_price} . ' ea)',
taxclass => $TAXCLASSES{ $hash{taxclass} },
@@ -244,7 +257,7 @@ foreach my $custnum ( keys (%e911_qty) ) {
my $cust_pkg = FS::cust_pkg->new({
pkgpart => $opt{e},
custnum => $custnum,
- start_date => $cust_main->next_bill_date,
+ start_date => $cust_main->get('charge_date'),
quantity => $quantity,
});
my $error = $cust_main->order_pkg({ cust_pkg => $cust_pkg });
-----------------------------------------------------------------------
Summary of changes:
FS/bin/freeside-ipifony-download | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
More information about the freeside-commits
mailing list