quick payment tool improvements, RT10698
[freeside.git] / httemplate / misc / xmlhttp-cust_main-search.cgi
index 26e68b5..c71953b 100644 (file)
@@ -2,10 +2,10 @@
 % 
 %   my $custnum = $cgi->param('arg');
 %   my $cust_main = '';
-%   if ( $custnum <= 2147483647 ) {
+%   if ( $custnum =~ /^(\d+)$/ and $1 <= 2147483647 ) {
 %     $cust_main = qsearchs({
 %       'table'   => 'cust_main',
-%       'hashref' => { 'custnum' => $custnum },
+%       'hashref' => { 'custnum' => $1 },
 %       'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
 %     });
 %   }
 % } elsif ( $sub eq 'smart_search' ) {
 %
 %   my $string = $cgi->param('arg');
-%   my @cust_main = smart_search( 'search' => $string );
-%   my $return = [ map [ $_->custnum, $_->name ], @cust_main ];
+%   my @cust_main = smart_search( 'search' => $string,
+%                                 'no_fuzzy_on_exact' => 1, #pref?
+%                               );
+%   my $return = [ map [ $_->custnum, $_->name, $_->balance ], @cust_main ];
 %     
 <% objToJson($return) %>
+% } elsif ( $sub eq 'invnum_search' ) {
+%
+%   my $string = $cgi->param('arg');
+%   my $inv = qsearchs('cust_bill', { 'invnum' => $string });
+%   my $return = [];
+%   if ( $inv ) {
+%      my $cust_main = qsearchs({
+%              'table'   => 'cust_main',
+%              'hashref' => { 'custnum' => $inv->custnum },
+%              'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
+%              });
+%      $return = [ $cust_main->custnum, $cust_main->name, $cust_main->balance ];
+%   }
+<% objToJson($return) %>
 % } 
 <%init>