projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fc45339
)
unbreak cust_main search, fallout from cust_payby work, #23741
author
Mark Wells
<mark@freeside.biz>
Wed, 10 Sep 2014 19:52:14 +0000
(12:52 -0700)
committer
Mark Wells
<mark@freeside.biz>
Wed, 10 Sep 2014 19:52:14 +0000
(12:52 -0700)
FS/FS/cust_main/Search.pm
patch
|
blob
|
history
diff --git
a/FS/FS/cust_main/Search.pm
b/FS/FS/cust_main/Search.pm
index
0c00477
..
bb5891d
100644
(file)
--- 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',
push @cust_main, qsearch({
'table' => 'cust_main',
+ 'addl_from' => ' JOIN cust_payby USING (custnum)',
'hashref' => {},
'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
});
" AND $agentnums_sql", #agent virtulization
});
@@
-896,10
+897,10
@@
sub search {
: ( $params->{'payby'} );
@payby = grep /^([A-Z]{4})$/, @payby;
: ( $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;
if @payby;
-
}
###
}
###