diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-10-19 23:24:20 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-10-19 23:24:20 -0700 |
commit | e69b549276439ab52dc6eadcbeaf3b5409926edb (patch) | |
tree | 235cc1961bdddd6dfe1fb65c41e03e0cbfefd3ac | |
parent | d25be172b2bfdc1a49e3bf54719155cb853391bb (diff) |
ignore setup+start date on upgrade, RT#25516, RT#21464
-rw-r--r-- | FS/FS/Upgrade.pm | 3 | ||||
-rw-r--r-- | FS/FS/cust_pkg.pm | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/FS/FS/Upgrade.pm b/FS/FS/Upgrade.pm index 037c4b3f2..a7fe99f90 100644 --- a/FS/FS/Upgrade.pm +++ b/FS/FS/Upgrade.pm @@ -132,6 +132,9 @@ sub upgrade { local $FS::UID::AutoCommit = 0; local $FS::UID::AutoCommit = 0; + local $FS::cust_pkg::upgrade = 1; #go away after setup+start dates cleaned up for old customers + + foreach my $table ( keys %$data ) { my $class = "FS::$table"; diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index 009c81e06..face10a5a 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -4,7 +4,7 @@ use base qw( FS::otaker_Mixin FS::cust_main_Mixin FS::Sales_Mixin FS::m2m_Common FS::option_Common ); use strict; -use vars qw($disable_agentcheck $DEBUG $me); +use vars qw( $disable_agentcheck $DEBUG $me $upgrade ); use Carp qw(cluck); use Scalar::Util qw( blessed ); use List::Util qw(min max); @@ -54,6 +54,8 @@ $me = '[FS::cust_pkg]'; $disable_agentcheck = 0; +$upgrade = 0; #go away after setup+start dates cleaned up for old customers + sub _cache { my $self = shift; my ( $hashref, $cache ) = @_; @@ -656,7 +658,7 @@ sub check { return $error if $error; return "A package with both start date (future start) and setup date (already started) will never bill" - if $self->start_date && $self->setup; + if $self->start_date && $self->setup && ! $upgrade; return "A future unsuspend date can only be set for a package with a suspend date" if $self->resume and !$self->susp and !$self->adjourn; |