fixes to facilitate using agent_custid as custnum, RT#4190
[freeside.git] / httemplate / misc / xmlhttp-cust_main-search.cgi
index 67512fa..26e68b5 100644 (file)
@@ -1,22 +1,36 @@
-%
-%   my $sub = $cgi->param('sub');
-% 
-%   if ( $sub eq 'custnum_search' ) {
+% if ( $sub eq 'custnum_search' ) {
 % 
-%     my $custnum = $cgi->param('arg');
-%     my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } );
-%
+%   my $custnum = $cgi->param('arg');
+%   my $cust_main = '';
+%   if ( $custnum <= 2147483647 ) {
+%     $cust_main = qsearchs({
+%       'table'   => 'cust_main',
+%       'hashref' => { 'custnum' => $custnum },
+%       'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
+%     });
+%   }
+%   if ( ! $cust_main ) {
+%     $cust_main = qsearchs({
+%       'table'   => 'cust_main',
+%       'hashref' => { 'agent_custid' => $custnum },
+%       'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
+%     });
+%   }
 %     
 "<% $cust_main ? $cust_main->name : '' %>"
-% } elsif ( $sub eq 'smart_search' ) {
 %
-%     my $string = $cgi->param('arg');
-%     my @cust_main = smart_search( 'search' => $string );
-%     my $return = [ map [ $_->custnum, $_->name ], @cust_main ];
+% } elsif ( $sub eq 'smart_search' ) {
 %
+%   my $string = $cgi->param('arg');
+%   my @cust_main = smart_search( 'search' => $string );
+%   my $return = [ map [ $_->custnum, $_->name ], @cust_main ];
 %     
 <% objToJson($return) %>
 % } 
+<%init>
 
+my $conf = new FS::Conf;
 
+my $sub = $cgi->param('sub');
 
+</%init>