From df21571ae9b56b8645c53053fdabc78ca6eeffed Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Mon, 28 Mar 2016 17:29:35 -0700 Subject: optimize customer list, RT#30173 --- FS/FS/cust_main.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'FS') diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 4e305fc2b..38edd0493 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -3803,13 +3803,17 @@ sub status { shift->cust_status(@_); } sub cust_status { my $self = shift; + return $self->hashref->{cust_status} if $self->hashref->{cust_status}; for my $status ( FS::cust_main->statuses() ) { my $method = $status.'_sql'; my $numnum = ( my $sql = $self->$method() ) =~ s/cust_main\.custnum/?/g; my $sth = dbh->prepare("SELECT $sql") or die dbh->errstr; $sth->execute( ($self->custnum) x $numnum ) or die "Error executing 'SELECT $sql': ". $sth->errstr; - return $status if $sth->fetchrow_arrayref->[0]; + if ( $sth->fetchrow_arrayref->[0] ) { + $self->hashref->{cust_status} = $status; + return $status; + } } } -- cgit v1.2.1