[freeside-commits] freeside/FS/FS cust_pay.pm,1.74.2.5,1.74.2.6

Ivan,,, ivan at wavetail.420.am
Thu Nov 4 13:35:56 PDT 2010


Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail.420.am:/tmp/cvs-serv28105

Modified Files:
      Tag: FREESIDE_1_9_BRANCH
	cust_pay.pm 
Log Message:
bill setup fees upon receiving a payment, for bill_every_call customers

Index: cust_pay.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/cust_pay.pm,v
retrieving revision 1.74.2.5
retrieving revision 1.74.2.6
diff -u -w -d -r1.74.2.5 -r1.74.2.6
--- cust_pay.pm	29 Sep 2010 20:47:19 -0000	1.74.2.5
+++ cust_pay.pm	4 Nov 2010 20:35:54 -0000	1.74.2.6
@@ -214,6 +214,36 @@
   }
   #eslaf
 
+  #bill setup fees for voip_cdr bill_every_call packages
+  #some false laziness w/search in freeside-cdrd
+  my $addl_from =
+    'LEFT JOIN part_pkg USING ( pkgpart ) '.
+    "LEFT JOIN part_pkg_option
+       ON ( cust_pkg.pkgpart = part_pkg_option.pkgpart
+            AND part_pkg_option.optionname = 'bill_every_call' )";
+
+  my $extra_sql = " AND plan = 'voip_cdr' AND optionvalue = '1' ".
+                  " AND ( cust_pkg.setup IS NULL OR cust_pkg.setup = 0 ) ";
+
+  my @cust_pkg = qsearch({
+    'table'     => 'cust_pkg',
+    'addl_from' => $addl_from,
+    'hashref'   => { 'custnum' => $self->custnum,
+                     'susp'    => '',
+                     'cancel'  => '',
+                   },
+    'extra_sql' => $extra_sql,
+  });
+
+  if ( @cust_pkg ) {
+    warn "voip_cdr bill_every_call packages found; billing customer\n";
+    my $bill_error = $self->cust_main->bill_and_collect( 'fatal' => 'return' );
+    if ( $bill_error ) {
+      warn "WARNING: Error billing customer: $bill_error\n";
+    }
+  }
+  #end of billing setup fees for voip_cdr bill_every_call packages
+
   $dbh->commit or die $dbh->errstr if $oldAutoCommit;
 
   #payment receipt



More information about the freeside-commits mailing list