check number searches ignore leading 0s
authorIvan Kohler <ivan@freeside.biz>
Tue, 7 Apr 2015 18:17:15 +0000 (11:17 -0700)
committerIvan Kohler <ivan@freeside.biz>
Tue, 7 Apr 2015 18:17:15 +0000 (11:17 -0700)
FS/FS/Mason.pm
httemplate/search/elements/cust_pay_or_refund.html

index 8f7f739..d9b9188 100644 (file)
@@ -131,7 +131,7 @@ if ( -e $addl_handler_use_file ) {
   use FS::UID qw( dbh datasrc driver_name );
   use FS::Record qw( qsearch qsearchs fields dbdef
                     str2time_sql str2time_sql_closing
-                    midnight_sql
+                    midnight_sql regexp_sql
                    );
   use FS::Conf;
   use FS::CGI qw(header menubar table itable ntable idiot
index 7bebe7f..699266d 100755 (executable)
@@ -402,7 +402,8 @@ if ( $cgi->param('magic') ) {
     if ( $cgi->param('payinfo') ) {
       $cgi->param('payinfo') =~ /^\s*(\d+)\s*$/
         or die "illegal payinfo ". $cgi->param('payinfo');
-      push @search, "$table.payinfo = '$1'";
+      my $regexp = regexp_sql();
+      push @search, "$table.payinfo $regexp '^0*$1\$'";
     }
 
     if ( $cgi->param('ccpay') =~ /^([\w-:]+)$/ ) {
@@ -538,6 +539,7 @@ if ( $cgi->param('magic') ) {
 } else {
 
   #hmm... is this still used?
+  warn "undefined search magic";
 
   $cgi->param('payinfo') =~ /^\s*(\d+)\s*$/ or die "illegal payinfo";
   my $payinfo = $1;