diff options
author | Ivan Kohler <ivan@freeside.biz> | 2016-03-23 21:05:26 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2016-03-23 21:05:26 -0700 |
commit | d73998881ef12f0fb2a6f71dc702bccc0c6e7bb4 (patch) | |
tree | f189848eb8765cd465d69c6d34e36b5b2da5f34c /FS/FS/cust_svc.pm | |
parent | 0e8bb4e9d89852127652a3264fb2d91b145980f9 (diff) |
optimize customer list, RT#20173
Diffstat (limited to 'FS/FS/cust_svc.pm')
-rw-r--r-- | FS/FS/cust_svc.pm | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/FS/FS/cust_svc.pm b/FS/FS/cust_svc.pm index d432747..d91fa0d 100644 --- a/FS/FS/cust_svc.pm +++ b/FS/FS/cust_svc.pm @@ -3,7 +3,7 @@ use base qw( FS::cust_main_Mixin FS::option_Common ); #FS::Record ); use strict; use vars qw( $DEBUG $me $ignore_quantity $conf $ticket_system ); -use Carp; +use Carp qw(cluck); #use Scalar::Util qw( blessed ); use List::Util qw( max ); use FS::Conf; @@ -32,6 +32,15 @@ FS::UID->install_callback( sub { $ticket_system = $conf->config('ticket_system') }); +our $cache_enabled = 0; + +sub _simplecache { + my( $self, $hashref ) = @_; + if ( $cache_enabled && $hashref->{'svc'} ) { + $self->{'_svcpart'} = FS::part_svc->new($hashref); + } +} + sub _cache { my $self = shift; my ( $hashref, $cache ) = @_; @@ -629,9 +638,9 @@ L<FS::part_svc>). sub part_svc { my $self = shift; - $self->{'_svcpart'} - ? $self->{'_svcpart'} - : qsearchs( 'part_svc', { 'svcpart' => $self->svcpart } ); + return $self->{_svcpart} if $self->{_svcpart}; + cluck 'cust_svc->part_svc called' if $DEBUG; + qsearchs( 'part_svc', { 'svcpart' => $self->svcpart } ); } =item cust_pkg |