diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-06-05 14:21:03 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-06-05 14:21:03 -0700 |
commit | e89c8210f4186386ed5b7e7a123a96325d1ee183 (patch) | |
tree | f4ec01060dcb1e33e302be5dd35753b53254bab3 | |
parent | f68454095d2ba47d4180c6afa25449eba088769a (diff) |
perform 3 character substring searches if you have 'List all customers', RT#75012, RT#76155
-rw-r--r-- | FS/FS/cust_main/Search.pm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/FS/FS/cust_main/Search.pm b/FS/FS/cust_main/Search.pm index 0eb00202b..d66809404 100644 --- a/FS/FS/cust_main/Search.pm +++ b/FS/FS/cust_main/Search.pm @@ -356,10 +356,14 @@ sub smart_search { #still some false laziness w/search (was search/cust_main.cgi) + my $min_len = + $FS::CurrentUser::CurrentUser->access_right('List all customers') + ? 3 : 4; + #substring my @company_hashrefs = (); - if ( length($value) >= 4 ) { + if ( length($value) >= $min_len ) { @company_hashrefs = ( { 'company' => { op=>'ILIKE', value=>"%$value%" }, }, { 'ship_company' => { op=>'ILIKE', value=>"%$value%" }, }, @@ -375,7 +379,7 @@ sub smart_search { }, ); - } elsif ( length($value) >= 4 ) { + } elsif ( length($value) >= $min_len ) { @hashrefs = ( { 'first' => { op=>'ILIKE', value=>"%$value%" }, }, @@ -396,7 +400,7 @@ sub smart_search { } - if ( $conf->exists('address1-search') && length($value) >= 4 ) { + if ( $conf->exists('address1-search') && length($value) >= $min_len ) { push @cust_main, qsearch( { table => 'cust_main', |