summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Terry <jterry@jterry-mac.local>2014-05-01 14:41:02 -0600
committerIvan Kohler <ivan@freeside.biz>2014-05-01 13:53:47 -0700
commit1178e0ec7d2789819e42966181f36bba1e6e0f4c (patch)
treea03ce0d7c2156ab0ad32735ab747e0a9dc65bff6
parent472f6aedda5898e6e0ab2b78a492d8e8e5c7cf93 (diff)
Performance improvement on count location data.
Conflicts: FS/FS/Schema.pm
-rw-r--r--FS/FS/Schema.pm2
-rw-r--r--FS/FS/cust_location.pm4
2 files changed, 4 insertions, 2 deletions
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 849dc3e83..86acbbf55 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -1186,6 +1186,8 @@ sub tables_hashref {
[ 'referral_custnum' ],
[ 'payby' ], [ 'paydate' ],
[ 'archived' ],
+ [ 'ship_locationnum' ],
+ [ 'bill_locationnum' ],
],
},
diff --git a/FS/FS/cust_location.pm b/FS/FS/cust_location.pm
index 8412a39e1..2e0871ddb 100644
--- a/FS/FS/cust_location.pm
+++ b/FS/FS/cust_location.pm
@@ -438,8 +438,8 @@ sub disable_if_unused {
my $self = shift;
my $locationnum = $self->locationnum;
- return '' if FS::cust_main->count('bill_locationnum = '.$locationnum)
- or FS::cust_main->count('ship_locationnum = '.$locationnum)
+ return '' if FS::cust_main->count('bill_locationnum = '.$locationnum.' OR
+ ship_locationnum = '.$locationnum)
or FS::contact->count( 'locationnum = '.$locationnum)
or FS::cust_pkg->count('cancel IS NULL AND
locationnum = '.$locationnum)