summaryrefslogtreecommitdiff
path: root/httemplate/search/elements
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2014-06-30 12:44:26 -0700
committerIvan Kohler <ivan@freeside.biz>2014-06-30 12:44:26 -0700
commitb93d0216d5bdaca2b5feb5a54f30a0aeab54f7fe (patch)
treecc2513621050cac28f634c99c6f92022a13815b8 /httemplate/search/elements
parentec583ed0ce9b246b71d68ebbbc7ab3f0036fce22 (diff)
fix payment report multiple selection vs. mysql, RT#29830
Diffstat (limited to 'httemplate/search/elements')
-rwxr-xr-xhttemplate/search/elements/cust_pay_or_refund.html29
1 files changed, 17 insertions, 12 deletions
diff --git a/httemplate/search/elements/cust_pay_or_refund.html b/httemplate/search/elements/cust_pay_or_refund.html
index 7afab4e71..8aece0cc2 100755
--- a/httemplate/search/elements/cust_pay_or_refund.html
+++ b/httemplate/search/elements/cust_pay_or_refund.html
@@ -108,7 +108,7 @@ my $cust_link = sub {
# only valid for $table == 'cust_pay' atm
my $tax_names = '';
if ( $cgi->param('tax_names') ) {
- if ( dbh->{Driver}->{Name} eq 'Pg' ) {
+ if ( dbh->{Driver}->{Name} =~ /^Pg/i ) {
$tax_names = "
array_to_string(
@@ -280,6 +280,11 @@ if ( $cgi->param('magic') ) {
my $cardtype = $3;
+ my $similar_to = dbh->{Driver}->{Name} =~ /^mysql/i
+ ? 'REGEXP' #doesn't behave exactly the same, but
+ #should work for our patterns
+ : 'SIMILAR TO';
+
my $search;
if ( $cardtype eq 'VisaMC' ) {
@@ -288,15 +293,15 @@ if ( $cgi->param('magic') ) {
" ( ( substring($table.payinfo from 1 for 1) = '4' ".
" AND substring($table.payinfo from 1 for 4) != '4936' ".
" AND substring($table.payinfo from 1 for 6) ".
- " NOT SIMILAR TO '49030[2-9]' ".
+ " NOT $similar_to '49030[2-9]' ".
" AND substring($table.payinfo from 1 for 6) ".
- " NOT SIMILAR TO '49033[5-9]' ".
+ " NOT $similar_to '49033[5-9]' ".
" AND substring($table.payinfo from 1 for 6) ".
- " NOT SIMILAR TO '49110[1-2]' ".
+ " NOT $similar_to '49110[1-2]' ".
" AND substring($table.payinfo from 1 for 6) ".
- " NOT SIMILAR TO '49117[4-9]' ".
+ " NOT $similar_to '49117[4-9]' ".
" AND substring($table.payinfo from 1 for 6) ".
- " NOT SIMILAR TO '49118[1-2]' ".
+ " NOT $similar_to '49118[1-2]' ".
" )".
" OR substring($table.payinfo from 1 for 2) = '51' ".
" OR substring($table.payinfo from 1 for 2) = '52' ".
@@ -360,15 +365,15 @@ if ( $cgi->param('magic') ) {
" OR substring($table.payinfo from 1 for 6 ) = '564182' ".
" OR substring($table.payinfo from 1 for 4 ) = '4936' ".
" OR substring($table.payinfo from 1 for 6 ) ".
- " SIMILAR TO '49030[2-9]' ".
+ " $similar_to '49030[2-9]' ".
" OR substring($table.payinfo from 1 for 6 ) ".
- " SIMILAR TO '49033[5-9]' ".
+ " $similar_to '49033[5-9]' ".
" OR substring($table.payinfo from 1 for 6 ) ".
- " SIMILAR TO '49110[1-2]' ".
+ " $similar_to '49110[1-2]' ".
" OR substring($table.payinfo from 1 for 6 ) ".
- " SIMILAR TO '49117[4-9]' ".
+ " $similar_to '49117[4-9]' ".
" OR substring($table.payinfo from 1 for 6 ) ".
- " SIMILAR TO '49118[1-2]' ".
+ " $similar_to '49118[1-2]' ".
" ) ";
} elsif ( $cardtype eq 'Tokenized' ) {
@@ -488,7 +493,7 @@ if ( $cgi->param('magic') ) {
my $group_by = '';
if ( $cgi->param('tax_names') ) {
- if ( dbh->{Driver}->{Name} eq 'Pg' ) {
+ if ( dbh->{Driver}->{Name} =~ /^Pg/i ) {
0;#twiddle thumbs