quick list of area codes and a kludge to print DA numbers for all of them
[freeside.git] / httemplate / search / cust_main.cgi
index 56bb9ca..36e4374 100755 (executable)
 %  if ( $cgi->param('browse') ) {
 %    my $query = $cgi->param('browse');
 %    if ( $query eq 'custnum' ) {
-%      $sortby=\*custnum_sort;
-%      $orderby = "ORDER BY custnum";
+%      if ( $conf->exists('cust_main-default_agent_custid') ) {
+%        $sortby=\*display_custnum_sort;
+%        $orderby = "ORDER BY CASE WHEN agent_custid IS NOT NULL AND agent_custid != '' THEN CAST(agent_custid AS BIGINT) ELSE custnum END";
+%      } else {
+%        $sortby=\*custnum_sort;
+%        $orderby = "ORDER BY custnum";
+%      }
 %    } elsif ( $query eq 'last' ) {
 %      $sortby=\*last_sort;
 %      $orderby = "ORDER BY LOWER(last || ' ' || first)";
 %  if ( $cgi->param('otaker_on') ) {
 %    die "access denied"
 %      unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
-%    $cgi->param('otaker') =~ /^(\w{1,32})$/ or eidiot "Illegal otaker\n";
+%    $cgi->param('otaker') =~ /^(\w{1,32})$/ or errorpage("Illegal otaker");
 %    $search{otaker} = $1;
 %  } elsif ( $cgi->param('agentnum_on') ) {
-%    $cgi->param('agentnum') =~ /^(\d+)$/ or eidiot "Illegal agentnum\n";
+%    $cgi->param('agentnum') =~ /^(\d+)$/ or errorpage("Illegal agentnum");
 %    $search{agentnum} = $1;
 %#  } else {
 %#    die "unknown query...";
 
 <!-- mason kludge -->
 %
-%  eidiot "No matching customers found!\n";
+%  errorpage("No matching customers found!");
 %} else { 
 %
 
 %
 %  if ( $cgi->param('referral_custnum') ) {
 %    $cgi->param('referral_custnum') =~ /^(\d+)$/
-%      or eidiot "Illegal referral_custnum\n";
+%      or errorpage("Illegal referral_custnum");
 %    my $referral_custnum = $1;
 %    my $cust_main = qsearchs('cust_main', { custnum => $referral_custnum } );
 %    print '<FORM METHOD="GET">'.
 %    print ' <SELECT NAME="referral_depth" SIZE="1" onChange="changed(this)">';
 %    my $max = 8; #config file
 %    $cgi->param('referral_depth') =~ /^(\d*)$/ 
-%      or eidiot "Illegal referral_depth";
+%      or errorpage("Illegal referral_depth");
 %    my $referral_depth = $1;
 %
 %    foreach my $depth ( 1 .. $max ) {
 %    my $statuscol = $cust_main->statuscolor;
 
     <TR>
-      <TD CLASS="grid" ALIGN="right" BGCOLOR="<% $bgcolor %>" ROWSPAN=<% $rowspan || 1 %>><A HREF="<% $view %>"><FONT SIZE=-1><% $custnum %></FONT></A></TD>
+      <TD CLASS="grid" ALIGN="right" BGCOLOR="<% $bgcolor %>" ROWSPAN=<% $rowspan || 1 %>><A HREF="<% $view %>"><FONT SIZE=-1><% $cust_main->display_custnum %></FONT></A></TD>
       <TD CLASS="grid" ALIGN="center" BGCOLOR="<% $bgcolor %>" ROWSPAN=<% $rowspan || 1 %>><FONT SIZE="-1" COLOR="#<% $statuscol %>"><B><% ucfirst($status) %></B></FONT></TD>
       <TD CLASS="grid" BGCOLOR="<% $bgcolor %>" ROWSPAN=<% $rowspan || 1 %>><A HREF="<% $view %>"><FONT SIZE=-1><% "$last, $first" %></FONT></A></TD>
       <TD CLASS="grid" BGCOLOR="<% $bgcolor %>" ROWSPAN=<% $rowspan || 1 %>><% $pcompany %></TD>
 %  || lc($a->first) cmp lc($b->first);;
 %}
 %
+%sub display_custnum_sort {
+%  $a->display_custnum <=> $b->display_custnum;
+%}
+%
 %sub custnum_sort {
 %  $a->getfield('custnum') <=> $b->getfield('custnum');
 %}
 %
 %  my $custnum = $cgi->param('custnum_text');
 %  $custnum =~ s/\D//g;
-%  $custnum =~ /^(\d{1,23})$/ or eidiot "Illegal customer number\n";
+%  $custnum =~ /^(\d{1,23})$/ or errorpage("Illegal customer number");
 %  $custnum = $1;
 %  
 %  [ qsearchs('cust_main', { 'custnum' => $custnum } ) ];
 %
 %  my($card)=$cgi->param('card');
 %  $card =~ s/\D//g;
-%  $card =~ /^(\d{13,16})$/ or eidiot "Illegal card number\n";
+%  $card =~ /^(\d{13,16})$/ or errorpage("Illegal card number");
 %  my($payinfo)=$1;
 %
 %  [ qsearch('cust_main',{'payinfo'=>$payinfo, 'payby'=>'CARD'}),
 %
 %sub referralsearch {
 %  $cgi->param('referral_custnum') =~ /^(\d+)$/
-%    or eidiot "Illegal referral_custnum";
+%    or errorpage("Illegal referral_custnum");
 %  my $cust_main = qsearchs('cust_main', { 'custnum' => $1 } )
-%    or eidiot "Customer $1 not found";
+%    or errorpage("Customer $1 not found");
 %  my $depth;
 %  if ( $cgi->param('referral_depth') ) {
 %    $cgi->param('referral_depth') =~ /^(\d+)$/
-%      or eidiot "Illegal referral_depth";
+%      or errorpage("Illegal referral_depth");
 %    $depth = $1;
 %  } else {
 %    $depth = 1;
 %  }
 %
 %  $cgi->param('last_text') =~ /^([\w \,\.\-\']*)$/
-%    or eidiot "Illegal last name";
+%    or errorpage("Illegal last name");
 %  my($last)=$1;
 %
 %  if ( $last_type{'Exact'} || $last_type{'Fuzzy'} ) {
 %
 %  $cgi->param('company_text') =~
 %    /^([\w \!\@\#\$\%\&\(\)\-\+\;\:\'\"\,\.\?\/\=]*)$/
-%      or eidiot "Illegal company";
+%      or errorpage("Illegal company");
 %  my $company = $1;
 %
 %  if ( $company_type{'Exact'} || $company_type{'Fuzzy'} ) {
 %
 %  $cgi->param('address2_text') =~
 %    /^([\w \!\@\#\$\%\&\(\)\-\+\;\:\'\"\,\.\?\/\=]*)$/
-%      or eidiot "Illegal address2";
+%      or errorpage("Illegal address2");
 %  my $address2 = $1;
 %
 %  push @cust_main, qsearch( 'cust_main',
 %                            { 'address2' => { 'op'    => 'ILIKE',
 %                                              'value' => $address2 } } );
 %  push @cust_main, qsearch( 'cust_main',
-%                            { 'address2' => { 'op'    => 'ILIKE',
-%                                              'value' => $address2 } } )
-%    if defined dbdef->table('cust_main')->column('ship_last');
+%                            { 'ship_address2' => { 'op'    => 'ILIKE',
+%                                                   'value' => $address2 } } );
 %
 %  \@cust_main;
 %}
 %  } elsif ( $phone =~ /^(\d{3,4})$/ ) {
 %    $phone = $1;
 %  } else {
-%    eidiot gettext('illegal_phone'). ": $phone";
+%    errorpage(gettext('illegal_phone'). ": $phone");
 %  }
 %
 %  my @fields = qw(daytime night fax);