[freeside-commits] branch master updated. 156e74067cc8723e187dfd9c5aa7ff956306fe01

Ivan ivan at 420.am
Mon Mar 21 13:15:26 PDT 2016


The branch, master has been updated
       via  156e74067cc8723e187dfd9c5aa7ff956306fe01 (commit)
      from  99670c0a0b72b05d09f948027b50cd8e9850ad37 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 156e74067cc8723e187dfd9c5aa7ff956306fe01
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Mon Mar 21 13:15:23 2016 -0700

    optimize customer list, RT#20173

diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 47eccf8..032b832 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -5495,7 +5495,7 @@ and customer address. Include units.',
   {
     'key'         => 'cust_main-status_module',
     'section'     => 'UI',
-    'description' => 'Which module to use for customer status display.  The "Classic" module (the default) considers accounts with cancelled recurring packages but un-cancelled one-time charges Inactive.  The "Recurring" module considers those customers Cancelled.  Similarly for customers with suspended recurring packages but one-time charges.', #other differences?
+    'description' => 'Which module to use for customer status display.  The "Classic" module (the default) considers accounts with cancelled recurring packages but un-cancelled one-time charges Inactive.  The "Recurring" module considers those customers Cancelled.  Similarly for customers with suspended recurring packages but one-time charges.  Restart Apache after changing.', #other differences?
     'type'        => 'select',
     'select_enum' => [ 'Classic', 'Recurring' ],
   },
diff --git a/FS/FS/cust_main/Status.pm b/FS/FS/cust_main/Status.pm
index 46a87ff..66ba33f 100644
--- a/FS/FS/cust_main/Status.pm
+++ b/FS/FS/cust_main/Status.pm
@@ -1,7 +1,7 @@
 package FS::cust_main::Status;
 
 use strict;
-use vars qw( $conf ); # $module ); #$DEBUG $me );
+use vars qw( $conf $module ); #$DEBUG $me );
 use Tie::IxHash;
 use FS::UID;
 use FS::cust_pkg;
@@ -11,7 +11,7 @@ use FS::cust_pkg;
 
 install_callback FS::UID sub { 
   $conf = new FS::Conf;
-  #$module = $conf->config('cust_main-status_module') || 'Classic';
+  $module = $conf->config('cust_main-status_module') || 'Classic';
 };
 
 =head1 NAME
@@ -40,8 +40,6 @@ sub statuscolors {
 
   my %statuscolors;
 
-  my $module = $conf->config('cust_main-status_module') || 'Classic';
-
   if ( $module eq 'Classic' ) {
     tie %statuscolors, 'Tie::IxHash',
       'prospect'  => 'FF00F5', #'000000', #black?  naw, purple
@@ -102,8 +100,6 @@ sub cancelled_sql {
     AND 0 < ( $select_count_pkgs AND $cancelled_sql   )
   ";
 
-  my $module = $conf->config('cust_main-status_module') || 'Classic';
-
   if ( $module eq 'Classic' ) {
     $sql .=
       " AND 0 = (  $select_count_pkgs AND ". FS::cust_pkg->inactive_sql. " ) ";
diff --git a/FS/FS/part_pkg/flat.pm b/FS/FS/part_pkg/flat.pm
index 8844991..04d761b 100644
--- a/FS/FS/part_pkg/flat.pm
+++ b/FS/FS/part_pkg/flat.pm
@@ -5,7 +5,10 @@ use base qw( FS::part_pkg::prorate_Mixin
            );
 
 use strict;
-use vars qw( %info %usage_recharge_fields @usage_recharge_fieldorder );
+use vars qw( $conf $money_char %info
+             %usage_recharge_fields @usage_recharge_fieldorder
+           );
+use FS::UID;
 use FS::Record qw( qsearch );
 use FS::cust_credit_source_bill_pkg;
 use Tie::IxHash;
@@ -13,6 +16,12 @@ use List::Util qw( min );
 use FS::UI::bytecount;
 use FS::Conf;
 
+#ask FS::UID to run this stuff for us later
+FS::UID->install_callback( sub {
+  $conf = new FS::Conf;
+  $money_char = $conf->config('money_char') || '$';
+});
+
 tie my %temporalities, 'Tie::IxHash',
   'upcoming'  => "Upcoming (future)",
   'preceding' => "Preceding (past)",
@@ -86,20 +95,20 @@ tie my %contract_years, 'Tie::IxHash', (
 );
 
 sub price_info {
-    my $self = shift;
-    my %opt = @_;
-    my $conf = new FS::Conf;
-    my $money_char = $conf->config('money_char') || '$';
-    my $setup = $opt{cust_pkg} ? $self->base_setup( $opt{cust_pkg} )
-                               : ($self->option('setup_fee') || 0);
-    my $recur = $opt{cust_pkg} ? $self->base_recur( $opt{cust_pkg} )
-                               : ($self->option('recur_fee', 1) || 0);
-    $recur += $self->usageprice_recur( $opt{cust_pkg} ) if $opt{cust_pkg};
-    my $str = '';
-    $str = $money_char . $setup . ($recur ? ' setup' : ' one-time') if $setup;
-    $str .= ', ' if ($setup && $recur);
-    $str .= $money_char. $recur. '/'. $self->freq_pretty if $recur;
-    $str;
+  my $self = shift;
+  my %opt = @_;
+
+  my $setup = $opt{cust_pkg} ? $self->base_setup( $opt{cust_pkg} )
+                             : ($self->option('setup_fee') || 0);
+  my $recur = $opt{cust_pkg} ? $self->base_recur( $opt{cust_pkg} )
+                             : ($self->option('recur_fee', 1) || 0);
+  $recur += $self->usageprice_recur( $opt{cust_pkg} ) if $opt{cust_pkg};
+
+  my $str = '';
+  $str = $money_char . $setup . ($recur ? ' setup' : ' one-time') if $setup;
+  $str .= ', ' if ($setup && $recur);
+  $str .= $money_char. $recur. '/'. $self->freq_pretty if $recur;
+  $str;
 }
 
 sub calc_setup {
@@ -210,7 +219,6 @@ sub usageprice_recur {
 
 sub calc_cancel {
   my $self = shift;
-  my $conf = new FS::Conf;
   if ( $self->recur_temporality eq 'preceding'
        and $self->option('bill_recur_on_cancel', 1) ) {
     # run another recurring cycle

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/Conf.pm             |    2 +-
 FS/FS/cust_main/Status.pm |    8 ++------
 FS/FS/part_pkg/flat.pm    |   40 ++++++++++++++++++++++++----------------
 3 files changed, 27 insertions(+), 23 deletions(-)




More information about the freeside-commits mailing list