X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fxmlhttp-cust_main-search.cgi;h=6f023121f93cf2e97fe83e2c778f44920a216d37;hb=5fdd19665fb7c0ad425a99d3dbf9ad7e27fbf44a;hp=67512fad9310a50a9346f6a6c6b9243734721592;hpb=3ce7691203a7737406bf2d4442f7fd84b81f847e;p=freeside.git diff --git a/httemplate/misc/xmlhttp-cust_main-search.cgi b/httemplate/misc/xmlhttp-cust_main-search.cgi index 67512fad9..6f023121f 100644 --- a/httemplate/misc/xmlhttp-cust_main-search.cgi +++ b/httemplate/misc/xmlhttp-cust_main-search.cgi @@ -1,22 +1,45 @@ -% -% my $sub = $cgi->param('sub'); -% -% if ( $sub eq 'custnum_search' ) { -% -% my $custnum = $cgi->param('arg'); -% my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } ); -% -% -"<% $cust_main ? $cust_main->name : '' %>" +% if ( $sub eq 'custnum_search' ) { +% my $custnum = $cgi->param('arg'); +% my $return = []; +% if ( $custnum =~ /^(\d+)$/ ) { +% $return = findbycustnum($1,0); +% $return = findbycustnum($1,1) if(!scalar(@$return)); +% } +<% objToJson($return) %> % } 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 $string = $cgi->param('arg'); +% my @cust_main = smart_search( 'search' => $string, +% 'no_fuzzy_on_exact' => 1, #pref? +% ); +% my $return = [ map [ $_->custnum, $_->name, $_->balance, $_->ucfirst_status, $_->statuscolor ], @cust_main ]; % <% objToJson($return) %> +% } elsif ( $sub eq 'invnum_search' ) { +% +% my $string = $cgi->param('arg'); +% my $inv = qsearchs('cust_bill', { 'invnum' => $string }); +% my $return = $inv ? findbycustnum($inv->custnum,0) : []; +<% objToJson($return) %> % } +<%init> +my $conf = new FS::Conf; +my $sub = $cgi->param('sub'); +sub findbycustnum{ + my $custnum = shift; + my $agent = shift; + my $hashref = { 'custnum' => $custnum }; + $hashref = { 'agent_custid' => $custnum } if $agent; + my $c = qsearchs({ + 'table' => 'cust_main', + 'hashref' => $hashref, + 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, + }); + return [ $c->custnum, $c->name, $c->balance, $c->ucfirst_status, $c->statuscolor ] + if $c; + []; +} +