[freeside-commits] freeside/FS/FS cust_pay.pm,1.89,1.90
Ivan,,,
ivan at wavetail.420.am
Thu Nov 4 13:35:55 PDT 2010
Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail.420.am:/tmp/cvs-serv28100
Modified Files:
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.89
retrieving revision 1.90
diff -u -w -d -r1.89 -r1.90
--- cust_pay.pm 23 Oct 2010 01:23:25 -0000 1.89
+++ cust_pay.pm 4 Nov 2010 20:35:53 -0000 1.90
@@ -264,6 +264,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