summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2012-12-19 13:53:52 -0800
committerMark Wells <mark@freeside.biz>2012-12-19 13:53:52 -0800
commite5c1e2e0ca42e5857b27890307bca616ee8982aa (patch)
treec0cd4151fede5a77a902f74cbc96a82dab1c8b49
parent0f701fc214468f8fb242435893de3fe084ba63f5 (diff)
ignore pkg_svc quantities when changing a customer location, #20588
-rw-r--r--FS/FS/cust_location.pm3
-rw-r--r--FS/FS/cust_pkg.pm3
2 files changed, 5 insertions, 1 deletions
diff --git a/FS/FS/cust_location.pm b/FS/FS/cust_location.pm
index 1521960d4..b86529b3d 100644
--- a/FS/FS/cust_location.pm
+++ b/FS/FS/cust_location.pm
@@ -324,6 +324,9 @@ sub move_to {
my $dbh = dbh;
my $error = '';
+ # prevent this from failing because of pkg_svc quantity limits
+ local( $FS::cust_svc::ignore_quantity ) = 1;
+
if ( !$new->locationnum ) {
$error = $new->insert;
if ( $error ) {
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index 75a0d7792..22a7b2c03 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -2889,7 +2889,8 @@ sub transfer {
}
foreach my $cust_svc ($self->cust_svc) {
- if($target{$cust_svc->svcpart} > 0) {
+ if($target{$cust_svc->svcpart} > 0
+ or $FS::cust_svc::ignore_quantity) { # maybe should be a 'force' option
$target{$cust_svc->svcpart}--;
my $new = new FS::cust_svc { $cust_svc->hash };
$new->pkgnum($dest_pkgnum);