summaryrefslogtreecommitdiff
path: root/FS/FS/cust_main/Search.pm
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2014-09-10 12:52:14 -0700
committerMark Wells <mark@freeside.biz>2014-09-10 12:52:14 -0700
commit67622d2fde244b52fdca6a4ba4b98e2453f7986a (patch)
treeb706e2a59af6fbcdbc3d61ee8d3ba25fd0f00ee1 /FS/FS/cust_main/Search.pm
parentfc45339e2dd9954ed2e1ef5907592660d68892b2 (diff)
unbreak cust_main search, fallout from cust_payby work, #23741
Diffstat (limited to 'FS/FS/cust_main/Search.pm')
-rw-r--r--FS/FS/cust_main/Search.pm13
1 files changed, 7 insertions, 6 deletions
diff --git a/FS/FS/cust_main/Search.pm b/FS/FS/cust_main/Search.pm
index 0c00477..bb5891d 100644
--- a/FS/FS/cust_main/Search.pm
+++ b/FS/FS/cust_main/Search.pm
@@ -477,11 +477,12 @@ sub smart_search {
push @cust_main, qsearch({
'table' => 'cust_main',
+ 'addl_from' => ' JOIN cust_payby USING (custnum)',
'hashref' => {},
- 'extra_sql' => " WHERE ( payinfo LIKE '$like_search'
- OR paymask = '$mask_search'
+ 'extra_sql' => " WHERE ( cust_payby.payinfo LIKE '$like_search'
+ OR cust_payby.paymask = '$mask_search'
) ".
- " AND payby IN ('CARD','DCRD') ".
+ " AND cust_payby.payby IN ('CARD','DCRD') ".
" AND $agentnums_sql", #agent virtulization
});
@@ -896,10 +897,10 @@ sub search {
: ( $params->{'payby'} );
@payby = grep /^([A-Z]{4})$/, @payby;
-
- push @where, '( '. join(' OR ', map "cust_main.payby = '$_'", @payby). ' )'
+ my $in_payby = 'IN(' . join(',', map {"'$_'"} @payby) . ')';
+ push @where, "EXISTS( SELECT 1 FROM cust_payby WHERE payby $in_payby ".
+ "AND cust_payby.custnum = cust_main.custnum)"
if @payby;
-
}
###