[freeside-commits] branch FREESIDE_2_3_BRANCH updated. 89896731e5226f366b4ceed798e68b98141290f7

Mark Wells mark at 420.am
Tue Apr 10 17:48:58 PDT 2012


The branch, FREESIDE_2_3_BRANCH has been updated
       via  89896731e5226f366b4ceed798e68b98141290f7 (commit)
      from  1c56391de209e817c5f922b90a1673bf616d48fa (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 89896731e5226f366b4ceed798e68b98141290f7
Author: Mark Wells <mark at freeside.biz>
Date:   Tue Apr 10 17:48:51 2012 -0700

    add special format for display_custnum prefix, #16815

diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index 67e2a72..a048a18 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -3888,6 +3888,15 @@ and customer address. Include units.',
   },
 
   {
+    'key'         => 'cust_main-custnum-display_special',
+    'section'     => 'UI',
+    'description' => 'Use this customer number prefix format',
+    'type'        => 'select',
+    'select_hash' => [ '' => '',
+                       'CoStCl' => 'CoStCl (country, state, class name)' ],
+  },
+
+  {
     'key'         => 'cust_main-custnum-display_length',
     'section'     => 'UI',
     'description' => 'Zero fill the customer number to this many digits for display purposes.',
diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm
index d45af58..9975742 100644
--- a/FS/FS/cust_main.pm
+++ b/FS/FS/cust_main.pm
@@ -3911,12 +3911,25 @@ cust_main-default_agent_custid is set and it has a value, custnum otherwise.
 
 sub display_custnum {
   my $self = shift;
+
+  my $prefix = $conf->config('cust_main-custnum-display_prefix') || '';
+  if ( my $special = $conf->config('cust_main-custnum-display_special') ) {
+    if ( $special eq 'CoStCl' ) {
+      $prefix = uc( join('',
+        $self->country,
+        ($self->state =~ /^(..)/),
+        ($self->classnum ? $self->cust_class->classname =~ /^(..)/ : '__')
+      ) );
+    }
+    # add any others here if needed
+  }
+
   my $length = $conf->config('cust_main-custnum-display_length');
   if ( $conf->exists('cust_main-default_agent_custid') && $self->agent_custid ){
     return $self->agent_custid;
-  } elsif ( $conf->config('cust_main-custnum-display_prefix') ) {
+  } elsif ( $prefix ) {
     $length = 8 if !defined($length);
-    return $conf->config('cust_main-custnum-display_prefix').
+    return $prefix . 
            sprintf('%0'.$length.'d', $self->custnum)
   } elsif ( $length ) {
     return sprintf('%0'.$length.'d', $self->custnum);

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

Summary of changes:
 FS/FS/Conf.pm      |    9 +++++++++
 FS/FS/cust_main.pm |   17 +++++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)




More information about the freeside-commits mailing list