From: Jason Terry Date: Thu, 1 May 2014 20:41:02 +0000 (-0600) Subject: Performance improvement on count location data. X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=53ac9ee9aff3755c4206f800a5d5a4dd8fc4242b Performance improvement on count location data. --- diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm index ae43b6061..94d7f36ab 100644 --- a/FS/FS/Schema.pm +++ b/FS/FS/Schema.pm @@ -1617,6 +1617,8 @@ sub tables_hashref { [ 'referral_custnum' ], [ 'payby' ], [ 'paydate' ], [ 'archived' ], + [ 'ship_locationnum' ], + [ 'bill_locationnum' ], ], 'foreign_keys' => [ { columns => [ 'agentnum' ], diff --git a/FS/FS/cust_location.pm b/FS/FS/cust_location.pm index 70ccbfd7e..309ab0631 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)