summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FS/FS/cust_pkg.pm7
-rw-r--r--FS/FS/quotation.pm1
2 files changed, 7 insertions, 1 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index 039943e52..e2f7aca16 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -60,6 +60,8 @@ our $upgrade = 0; #go away after setup+start dates cleaned up for old customers
our $cache_enabled = 0;
+our $disable_start_on_hold = 0;
+
sub _simplecache {
my( $self, $hashref ) = @_;
if ( $cache_enabled && $hashref->{'pkg'} && $hashref->{'plan'} ) {
@@ -397,7 +399,10 @@ sub insert {
$self->start_date( timelocal_nocheck(0,0,0,1,$mon,$year) );
}
- if ($self->susp eq 'now' or $part_pkg->start_on_hold) {
+ if ( $self->susp eq 'now'
+ or ( $part_pkg->start_on_hold && ! $disable_start_on_hold )
+ )
+ {
# if the package was ordered on hold:
# - suspend it
# - don't set the start date (it will be started manually)
diff --git a/FS/FS/quotation.pm b/FS/FS/quotation.pm
index 2f95425cc..520e11fbd 100644
--- a/FS/FS/quotation.pm
+++ b/FS/FS/quotation.pm
@@ -698,6 +698,7 @@ sub estimate {
}
# order packages
+ local($FS::cust_pkg::disable_start_on_hold) = 1;
$error = $fake_self->order(\%pkgnum_of);
die "$error (simulating package order)\n" if $error;