[freeside-commits] branch master updated. 9a753a28cb38ddf6e500805246173a8a1d12894a

Mark Wells mark at 420.am
Mon Aug 5 16:04:52 PDT 2013


The branch, master has been updated
       via  9a753a28cb38ddf6e500805246173a8a1d12894a (commit)
      from  426d4e697c5a96fc4884c444835b7e17b181b93b (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 9a753a28cb38ddf6e500805246173a8a1d12894a
Author: Mark Wells <mark at freeside.biz>
Date:   Mon Aug 5 18:04:44 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