diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-03-06 09:25:12 -0800 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-03-06 09:25:12 -0800 |
commit | ee5061a32e7b9054a982f3ed5260a5946e6b65a6 (patch) | |
tree | 0fdc8d4ed6b25778b59fb7ec99bc59327e2896ec | |
parent | eceba4d10e5dd1b36a2446831d93c226042955a6 (diff) |
don't allow two character substring searches, RT#75012
-rw-r--r-- | FS/FS/cust_main/Search.pm | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/FS/FS/cust_main/Search.pm b/FS/FS/cust_main/Search.pm index 14dd4b469..c5a87eb04 100644 --- a/FS/FS/cust_main/Search.pm +++ b/FS/FS/cust_main/Search.pm @@ -358,13 +358,15 @@ sub smart_search { #substring - my @company_hashrefs = ( - { 'company' => { op=>'ILIKE', value=>"%$value%" }, }, - { 'ship_company' => { op=>'ILIKE', value=>"%$value%" }, }, - ); + my @company_hashrefs = (); + if ( length($value) >= 3 ) { + @company_hashrefs = ( + { 'company' => { op=>'ILIKE', value=>"%$value%" }, }, + { 'ship_company' => { op=>'ILIKE', value=>"%$value%" }, }, + ); + } my @hashrefs = (); - if ( $first && $last ) { @hashrefs = ( @@ -373,12 +375,13 @@ sub smart_search { }, ); - } else { + } elsif ( length($value) >= 3 ) { @hashrefs = ( { 'first' => { op=>'ILIKE', value=>"%$value%" }, }, { 'last' => { op=>'ILIKE', value=>"%$value%" }, }, ); + } foreach my $hashref ( @company_hashrefs, @hashrefs ) { @@ -393,7 +396,7 @@ sub smart_search { } - if ( $conf->exists('address1-search') ) { + if ( $conf->exists('address1-search') && length($value) >= 3 ) { push @cust_main, qsearch( { table => 'cust_main', |