diff options
author | Ivan Kohler <ivan@freeside.biz> | 2016-03-23 19:19:37 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2016-03-23 19:19:37 -0700 |
commit | 79019df554d5c447da8b1df135b34d66a0cb69c6 (patch) | |
tree | f872ca8a43a79158cb5e77c6a616b916390c8c25 /FS/FS | |
parent | d2d9921b2bd4228e78ce6c793d700c327d3c597c (diff) |
optimize customer list (fix option caching in 3.x), RT#20173
Diffstat (limited to 'FS/FS')
-rw-r--r-- | FS/FS/part_pkg.pm | 5 | ||||
-rw-r--r-- | FS/FS/part_pkg/flat.pm | 12 |
2 files changed, 4 insertions, 13 deletions
diff --git a/FS/FS/part_pkg.pm b/FS/FS/part_pkg.pm index 45bdc62..8f00304 100644 --- a/FS/FS/part_pkg.pm +++ b/FS/FS/part_pkg.pm @@ -1416,9 +1416,8 @@ sub option { my( $self, $opt, $ornull ) = @_; #cache: was pulled up in the original part_pkg query - if ( $opt =~ /^(setup|recur)_fee$/ && defined($self->hashref->{"_$opt"}) ) { - return $self->hashref->{"_$opt"}; - } + return $self->hashref->{"_opt_$opt"} + if exists $self->hashref->{"_opt_$opt"}; cluck "$self -> option: searching for $opt" if $DEBUG; my $part_pkg_option = diff --git a/FS/FS/part_pkg/flat.pm b/FS/FS/part_pkg/flat.pm index 04d761b..7b5a3f6 100644 --- a/FS/FS/part_pkg/flat.pm +++ b/FS/FS/part_pkg/flat.pm @@ -136,11 +136,7 @@ sub calc_setup { sub base_setup { my($self, $cust_pkg, $sdate, $details ) = @_; - ( exists( $self->{'Hash'}{'_opt_setup_fee'} ) - ? $self->{'Hash'}{'_opt_setup_fee'} - : $self->option('setup_fee', 1) - ) - || 0; + $self->option('setup_fee', 1) || 0; } sub calc_recur { @@ -193,11 +189,7 @@ sub cutoff_day { sub base_recur { my($self, $cust_pkg, $sdate) = @_; - ( exists( $self->{'Hash'}{'_opt_recur_fee'} ) - ? $self->{'Hash'}{'_opt_recur_fee'} - : $self->option('recur_fee', 1) - ) - || 0; + $self->option('recur_fee', 1) || 0; } sub base_recur_permonth { |