diff options
author | ivan <ivan> | 2008-09-10 07:30:45 +0000 |
---|---|---|
committer | ivan <ivan> | 2008-09-10 07:30:45 +0000 |
commit | 864b55487e80fa1df3f8d12534856099f6ed0465 (patch) | |
tree | a648173253e7deb4c448c45711c57839af4a343f /FS | |
parent | 43301b925a730e808e3c3292da9058a167102f56 (diff) |
add upcoming/preceding option, RT#3851
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/part_pkg/voip_cdr.pm | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm index bbba7c724..0634cdc71 100644 --- a/FS/FS/part_pkg/voip_cdr.pm +++ b/FS/FS/part_pkg/voip_cdr.pm @@ -27,6 +27,11 @@ tie my %rating_method, 'Tie::IxHash', # 'Asterisk (or other?) CDR table', #; +tie my %temporalities, 'Tie::IxHash', + 'upcoming' => "Upcoming (future)", + 'preceding' => "Preceding (past)", +; + %info = ( 'name' => 'VoIP rating by plan of CDR records in an internal (or external) SQL table', 'shortname' => 'VoIP/telco CDR rating (standard)', @@ -37,6 +42,13 @@ tie my %rating_method, 'Tie::IxHash', 'recur_fee' => { 'name' => 'Base recurring fee for this package', 'default' => 0, }, + + #probably useful for other usage-charging price plans + 'recur_temporality' => { 'name' => 'Charge recurring fee for period', + 'type' => 'select', + 'select_options' => \%temporalities, + }, + 'unused_credit' => { 'name' => 'Credit the customer for the unused portion'. ' of service at cancellation', 'type' => 'checkbox', @@ -130,7 +142,7 @@ tie my %rating_method, 'Tie::IxHash', }, 'fieldorder' => [qw( - setup_fee recur_fee unused_credit + setup_fee recur_fee recur_temporality unused_credit rating_method ratenum default_prefix disable_src @@ -153,7 +165,11 @@ sub calc_setup { sub calc_recur { my($self, $cust_pkg, $sdate, $details, $param ) = @_; - my $last_bill = $cust_pkg->last_bill; + #my $last_bill = $cust_pkg->last_bill; + my $last_bill = $cust_pkg->get('last_bill'); #->last_bill falls back to setup + + return 0 + if $self->option('recur_temporality') eq 'preceding' && $last_bill == 0; my $ratenum = $cust_pkg->part_pkg->option('ratenum'); |