diff options
author | ivan <ivan> | 2011-08-11 00:39:00 +0000 |
---|---|---|
committer | ivan <ivan> | 2011-08-11 00:39:00 +0000 |
commit | d3e18527e2fa36b7b7fe7b8b0a5906caae3cb8de (patch) | |
tree | 07d4d1dc02ba4c8bea9dad8866e1a57a09c4c268 /FS | |
parent | 0534412bf84b022fe23f9231cb66424b7f6033df (diff) |
hide start date on package order for specific package definitions, RT#13783
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/cust_pkg.pm | 2 | ||||
-rw-r--r-- | FS/FS/part_pkg.pm | 2 | ||||
-rw-r--r-- | FS/FS/part_pkg/delayed_Mixin.pm | 6 | ||||
-rw-r--r-- | FS/FS/part_pkg/flat.pm | 2 |
4 files changed, 9 insertions, 3 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index 740561771..c2b3c04b5 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -284,7 +284,7 @@ sub insert { } my $free_days = $part_pkg->option('free_days'); - if ( $free_days && $part_pkg->option('delay_setup') ) { #&& !$self->start_date + if ( $free_days && $part_pkg->option('delay_setup',1) ) { #&& !$self->start_date my ($mday,$mon,$year) = (localtime(time) )[3,4,5]; #my $start_date = ($self->start_date || timelocal(0,0,0,$mday,$mon,$year)) + 86400 * $free_days; my $start_date = timelocal(0,0,0,$mday,$mon,$year) + 86400 * $free_days; diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm index f658dcf99..03239aeff 100644 --- a/FS/FS/part_pkg.pm +++ b/FS/FS/part_pkg.pm @@ -798,6 +798,8 @@ sub is_free { sub can_discount { 0; } +sub can_start_date { 1; } + sub freqs_href { # moved to FS::Misc to make this accessible to other packages # at initialization diff --git a/FS/FS/part_pkg/delayed_Mixin.pm b/FS/FS/part_pkg/delayed_Mixin.pm index 027cfff06..4228a4a3d 100644 --- a/FS/FS/part_pkg/delayed_Mixin.pm +++ b/FS/FS/part_pkg/delayed_Mixin.pm @@ -25,7 +25,7 @@ use vars qw(%info); sub calc_setup { my($self, $cust_pkg, $time ) = @_; - unless ( $self->option('delay_setup') ) { + unless ( $self->option('delay_setup', 1) ) { my $d = $cust_pkg->bill || $time; $d += 86400 * $self->option('free_days'); $cust_pkg->bill($d); @@ -37,7 +37,7 @@ sub calc_setup { sub calc_remain { my ($self, $cust_pkg, %options) = @_; - unless ( $self->option('delay_setup') ) { + unless ( $self->option('delay_setup', 1) ) { my $last_bill = $cust_pkg->last_bill || 0; my $next_bill = $cust_pkg->getfield('bill') || 0; my $free_days = $self->option('free_days'); @@ -49,4 +49,6 @@ sub calc_remain { return $self->SUPER::calc_remain($cust_pkg, %options); } +sub can_start_date { ! shift->option('delay_setup', 1) } + 1; diff --git a/FS/FS/part_pkg/flat.pm b/FS/FS/part_pkg/flat.pm index 4566c87ce..c1d1f56b2 100644 --- a/FS/FS/part_pkg/flat.pm +++ b/FS/FS/part_pkg/flat.pm @@ -196,6 +196,8 @@ sub is_free_options { sub is_prepaid { 0; } #no, we're postpaid +sub can_start_date { ! shift->option('start_1st', 1) } + #XXX discounts only on recurring fees for now (no setup/one-time or usage) sub can_discount { my $self = shift; |