From e69b549276439ab52dc6eadcbeaf3b5409926edb Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Sat, 19 Oct 2013 23:24:20 -0700 Subject: [PATCH] ignore setup+start date on upgrade, RT#25516, RT#21464 --- FS/FS/Upgrade.pm | 3 +++ 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; -- 2.11.0