[freeside-commits] freeside/FS/FS/part_pkg voip_cdr.pm,1.18,1.19
Jeff Finucane,420,,
jeff at wavetail.420.am
Fri Aug 1 21:10:03 PDT 2008
- Previous message: [freeside-commits] freeside/FS/FS Schema.pm, 1.93, 1.94 Upgrade.pm, 1.17, 1.18 cust_bill.pm, 1.218, 1.219 cust_bill_pkg.pm, 1.18, 1.19 cust_bill_pkg_detail.pm, 1.4, 1.5 cust_main.pm, 1.353, 1.354 part_pkg.pm, 1.74, 1.75
- Next message: [freeside-commits] freeside/FS/FS Conf.pm, 1.236, 1.237 Schema.pm, 1.94, 1.95 cust_bill.pm, 1.219, 1.220 cust_bill_pkg.pm, 1.19, 1.20 cust_main.pm, 1.354, 1.355
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /home/cvs/cvsroot/freeside/FS/FS/part_pkg
In directory wavetail.420.am:/tmp/cvs-serv24332/FS/FS/part_pkg
Modified Files:
voip_cdr.pm
Log Message:
improve CDR usage presentation
Index: voip_cdr.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/part_pkg/voip_cdr.pm,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- voip_cdr.pm 20 Jun 2008 03:36:16 -0000 1.18
+++ voip_cdr.pm 2 Aug 2008 04:10:01 -0000 1.19
@@ -85,6 +85,10 @@
'select_options' => { FS::cdr::invoice_formats() },
},
+ 'separate_usage' => { 'name' => 'Separate usage charges from recurring charges',
+ 'type' => 'checkbox',
+ },
+
#XXX also have option for an external db
# 'cdr_location' => { 'name' => 'CDR database location'
# 'type' => 'select',
@@ -116,6 +120,7 @@
disable_src
domestic_prefix international_prefix
use_amaflags use_disposition output_format
+ separate_usage
)
],
'weight' => 40,
@@ -126,8 +131,16 @@
$self->option('setup_fee');
}
-#false laziness w/voip_sqlradacct... resolve it if that one ever gets used again
sub calc_recur {
+ my $self = shift;
+ my $charges = 0;
+ $charges = $self->calc_usage(@_)
+ unless $self->option('separate_usage', 'Hush!');
+ $self->option('recur_fee') + $charges;
+}
+
+#false laziness w/voip_sqlradacct calc_recur resolve it if that one ever gets used again
+sub calc_usage {
my($self, $cust_pkg, $sdate, $details, $param ) = @_;
my $last_bill = $cust_pkg->last_bill;
@@ -425,7 +438,7 @@
} #if ( $spool_cdr && length($downstream_cdr) )
- $self->option('recur_fee') + $charges;
+ $charges;
}
@@ -445,5 +458,30 @@
scalar(grep { $_->part_svc->svcdb eq 'svc_phone' } $cust_pkg->cust_svc);
}
+sub append_cust_bill_pkgs {
+ my $self = shift;
+ my($cust_pkg, $sdate, $details, $param ) = @_;
+ return []
+ unless $self->option('separate_usage', 'Hush!');
+
+ my @details = ();
+ my $charges = $self->calc_usage($cust_pkg, $sdate, \@details, $param);
+
+ my $cust_bill_pkg = new FS::cust_bill_pkg {
+ 'pkgnum' => $cust_pkg->pkgnum,
+ 'setup' => 0,
+ 'unitsetup' => 0,
+ 'recur' => sprintf( "%.2f", $charges), # hmmm
+ 'unitrecur' => 0,
+ 'quantity' => $cust_pkg->quantity,
+ 'sdate' => $$sdate,
+ 'edate' => $cust_pkg->bill, # already fiddled
+ 'itemdesc' => 'Call details', # configurable?
+ 'details' => \@details,
+ };
+
+ return [ $cust_bill_pkg ];
+}
+
1;
- Previous message: [freeside-commits] freeside/FS/FS Schema.pm, 1.93, 1.94 Upgrade.pm, 1.17, 1.18 cust_bill.pm, 1.218, 1.219 cust_bill_pkg.pm, 1.18, 1.19 cust_bill_pkg_detail.pm, 1.4, 1.5 cust_main.pm, 1.353, 1.354 part_pkg.pm, 1.74, 1.75
- Next message: [freeside-commits] freeside/FS/FS Conf.pm, 1.236, 1.237 Schema.pm, 1.94, 1.95 cust_bill.pm, 1.219, 1.220 cust_bill_pkg.pm, 1.19, 1.20 cust_main.pm, 1.354, 1.355
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the freeside-commits
mailing list