summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-08-26 16:39:18 -0700
committerIvan Kohler <ivan@freeside.biz>2017-08-26 16:39:18 -0700
commit4d763e7c7d4c5f2dc9238f9f955a2211056d578c (patch)
treef39b9fbb2a14fa8fc3d54f074306a32ea9f06ffb
parent0e31e1eebf37df6227de78fda8cb7a1172018e0e (diff)
add 54-g agent_custid format, RT#77110
-rw-r--r--FS/FS/Conf.pm1
-rw-r--r--FS/FS/cust_main/Search.pm31
2 files changed, 18 insertions, 14 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index b5b5ec8..f137cd4 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -4330,6 +4330,7 @@ and customer address. Include units.',
'' => 'Numeric only',
'\d{7}' => 'Numeric only, exactly 7 digits',
'ww?d+' => 'Numeric with one or two letter prefix',
+ 'd+-w' => 'Numeric with a dash and one letter suffix',
],
},
diff --git a/FS/FS/cust_main/Search.pm b/FS/FS/cust_main/Search.pm
index 4eab474..27559d7 100644
--- a/FS/FS/cust_main/Search.pm
+++ b/FS/FS/cust_main/Search.pm
@@ -161,20 +161,23 @@ sub smart_search {
# custnum search (also try agent_custid), with some tweaking options if your
# legacy cust "numbers" have letters
- } elsif ( $search =~ /^\s*(\d+)\s*$/
- || ( $conf->config('cust_main-agent_custid-format') eq 'ww?d+'
- && $search =~ /^\s*(\w\w?\d+)\s*$/
- )
- || ( $conf->config('cust_main-custnum-display_special')
- # it's not currently possible for special prefixes to contain
- # digits, so just strip off any alphabetic prefix and match
- # the rest to custnum
- && $search =~ /^\s*[[:alpha:]]*(\d+)\s*$/
- )
- || ( $conf->exists('address1-search' )
- && $search =~ /^\s*(\d+\-?\w*)\s*$/ #i.e. 1234A or 9432-D
- )
- )
+ } elsif ( $search =~ /^\s*(\d+)\s*$/
+ or ( $conf->config('cust_main-agent_custid-format') eq 'ww?d+'
+ && $search =~ /^\s*(\w\w?\d+)\s*$/
+ )
+ or ( $conf->config('cust_main-agent_custid-format') eq 'd+-w'
+ && $search =~ /^\s*(\d+-\w)\s*$/
+ )
+ or ( $conf->config('cust_main-custnum-display_special')
+ # it's not currently possible for special prefixes to contain
+ # digits, so just strip off any alphabetic prefix and match
+ # the rest to custnum
+ && $search =~ /^\s*[[:alpha:]]*(\d+)\s*$/
+ )
+ or ( $conf->exists('address1-search' )
+ && $search =~ /^\s*(\d+\-?\w*)\s*$/ #i.e. 1234A or 9432-D
+ )
+ )
{
my $num = $1;