projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
clarify CDR skipping options only work with prefix rating, RT#81480
[freeside.git]
/
FS
/
FS
/
part_pkg
/
prorate.pm
diff --git
a/FS/FS/part_pkg/prorate.pm
b/FS/FS/part_pkg/prorate.pm
index
a5f9ef6
..
4cdc3f1
100644
(file)
--- a/
FS/FS/part_pkg/prorate.pm
+++ b/
FS/FS/part_pkg/prorate.pm
@@
-1,12
+1,10
@@
package FS::part_pkg::prorate;
package FS::part_pkg::prorate;
+use base qw( FS::part_pkg::flat );
use strict;
use strict;
-use vars qw(
@ISA
%info);
+use vars qw(%info);
use Time::Local qw(timelocal);
#use FS::Record qw(qsearch qsearchs);
use Time::Local qw(timelocal);
#use FS::Record qw(qsearch qsearchs);
-use FS::part_pkg::flat;
-
-@ISA = qw(FS::part_pkg::flat);
%info = (
'name' => 'First partial month pro-rated, then flat-rate (selectable billing day)',
%info = (
'name' => 'First partial month pro-rated, then flat-rate (selectable billing day)',
@@
-24,9
+22,9
@@
use FS::part_pkg::flat;
'type' => 'checkbox',
},
'prorate_round_day'=> {
'type' => 'checkbox',
},
'prorate_round_day'=> {
- 'name' => 'Round the prorated period
to the nearest '.
-
'full day
',
- '
type' => 'checkbox'
,
+ 'name' => 'Round the prorated period
',
+
'type' => 'select
',
+ '
select_options' => \%FS::part_pkg::prorate_Mixin::prorate_round_day_opts
,
},
'prorate_defer_bill'=> {
'name' => 'Defer the first bill until the billing day',
},
'prorate_defer_bill'=> {
'name' => 'Defer the first bill until the billing day',
@@
-44,9
+42,14
@@
use FS::part_pkg::flat;
sub calc_recur {
my $self = shift;
sub calc_recur {
my $self = shift;
+ #my($cust_pkg, $sdate, $details, $param ) = @_;
my $cust_pkg = $_[0];
my $charge = $self->calc_prorate(@_, $self->cutoff_day($cust_pkg));
my $cust_pkg = $_[0];
my $charge = $self->calc_prorate(@_, $self->cutoff_day($cust_pkg));
+
+ $charge += $self->usageprice_recur(@_);
+ $cust_pkg->apply_usageprice(); #$sdate for prorating?
+
my $discount = $self->calc_discount(@_);
sprintf( '%.2f', ($cust_pkg->quantity || 1) * ($charge - $discount) );
my $discount = $self->calc_discount(@_);
sprintf( '%.2f', ($cust_pkg->quantity || 1) * ($charge - $discount) );