summaryrefslogtreecommitdiff
path: root/FS/FS/cust_svc.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2016-03-23 21:05:26 -0700
committerIvan Kohler <ivan@freeside.biz>2016-03-23 21:05:26 -0700
commitd73998881ef12f0fb2a6f71dc702bccc0c6e7bb4 (patch)
treef189848eb8765cd465d69c6d34e36b5b2da5f34c /FS/FS/cust_svc.pm
parent0e8bb4e9d89852127652a3264fb2d91b145980f9 (diff)
optimize customer list, RT#20173
Diffstat (limited to 'FS/FS/cust_svc.pm')
-rw-r--r--FS/FS/cust_svc.pm17
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