summaryrefslogtreecommitdiff
path: root/httemplate/search/cust_main.cgi
diff options
context:
space:
mode:
authorivan <ivan>2002-02-23 11:56:55 +0000
committerivan <ivan>2002-02-23 11:56:55 +0000
commit903b22b3da3e3ee493bb322854c6bc0b0085e0dd (patch)
treef718d5b44a0d1205f663a094021fd00efc6e2de9 /httemplate/search/cust_main.cgi
parenta41efaf444c779d415fa3e443254bd13b6edf925 (diff)
case-insensitive and substring searching
Diffstat (limited to 'httemplate/search/cust_main.cgi')
-rwxr-xr-xhttemplate/search/cust_main.cgi63
1 files changed, 45 insertions, 18 deletions
diff --git a/httemplate/search/cust_main.cgi b/httemplate/search/cust_main.cgi
index 1e28ad57d..f153f02d4 100755
--- a/httemplate/search/cust_main.cgi
+++ b/httemplate/search/cust_main.cgi
@@ -398,24 +398,37 @@ sub lastsearch {
or eidiot "Illegal last name";
my($last)=$1;
-# if ( $last_type{'Exact'}
-# && ! $last_type{'Fuzzy'}
-# # && ! $last_type{'Sound-alike'}
-# ) {
+ if ( $last_type{'Exact'} || $last_type{'Fuzzy'} ) {
+ push @cust_main, qsearch( 'cust_main',
+ { 'last' => { 'op' => 'ILIKE',
+ 'value' => $last } } );
+
+ push @cust_main, qsearch( 'cust_main',
+ { 'ship_last' => { 'op' => 'ILIKE',
+ 'value' => $last } } )
+ if defined dbdef->table('cust_main')->column('ship_last');
+ }
+
+ if ( $last_type{'Substring'} || $last_type{'All'} ) {
- push @cust_main, qsearch('cust_main',{'last'=>$last});
+ push @cust_main, qsearch( 'cust_main',
+ { 'last' => { 'op' => 'ILIKE',
+ 'value' => "%$last%" } } );
- push @cust_main, qsearch('cust_main',{'ship_last'=>$last})
+ push @cust_main, qsearch( 'cust_main',
+ { 'ship_last' => { 'op' => 'ILIKE',
+ 'value' => "%$last%" } } )
if defined dbdef->table('cust_main')->column('ship_last');
-# } else {
- if ( $last_type{'Fuzzy'} ) {
+ }
+
+ if ( $last_type{'Fuzzy'} || $last_type{'All'} ) {
&FS::cust_main::check_and_rebuild_fuzzyfiles;
my $all_last = &FS::cust_main::all_last;
my %last;
- if ($last_type{'Fuzzy'}) {
+ if ( $last_type{'Fuzzy'} || $last_type{'All'} ) {
foreach ( amatch($last, [ qw(i) ], @$all_last) ) {
$last{$_}++;
}
@@ -431,6 +444,7 @@ sub lastsearch {
}
}
+
\@cust_main;
}
@@ -446,24 +460,37 @@ sub companysearch {
or eidiot "Illegal company";
my($company)=$1;
-# if ( $company_type{'Exact'}
-# && ! $company_type{'Fuzzy'}
-# # && ! $company_type{'Sound-alike'}
-# ) {
+ if ( $company_type{'Exact'} || $company_type{'Fuzzy'} ) {
+ push @cust_main, qsearch( 'cust_main',
+ { 'company' => { 'op' => 'ILIKE',
+ 'value' => $company } } );
- push @cust_main, qsearch('cust_main',{'company'=>$company});
+ push @cust_main, qsearch( 'cust_main',
+ { 'ship_company' => { 'op' => 'ILIKE',
+ 'value' => $company } } )
+ if defined dbdef->table('cust_main')->column('ship_last');
+ }
+
+ if ( $company_type{'Substring'} || $company_type{'All'} ) {
- push @cust_main, qsearch('cust_main',{'ship_company'=>$company})
+ push @cust_main, qsearch( 'cust_main',
+ { 'company' => { 'op' => 'ILIKE',
+ 'value' => "%$company%" } } );
+
+ push @cust_main, qsearch( 'cust_main',
+ { 'ship_company' => { 'op' => 'ILIKE',
+ 'value' => "%$company%" } })
if defined dbdef->table('cust_main')->column('ship_last');
-# } else {
- if ( $company_type{'Fuzzy'} ) {
+ }
+
+ if ( $company_type{'Fuzzy'} || $company_type{'All'} ) {
&FS::cust_main::check_and_rebuild_fuzzyfiles;
my $all_company = &FS::cust_main::all_company;
my %company;
- if ($company_type{'Fuzzy'}) {
+ if ( $company_type{'Fuzzy'} || $company_type{'All'} ) {
foreach ( amatch($company, [ qw(i) ], @$all_company ) ) {
$company{$_}++;
}