eliminate duplicate cusomters before figuring to display a list or redirect.
[freeside.git] / httemplate / search / cust_main.cgi
index f21dd7e..1e28ad5 100755 (executable)
@@ -45,7 +45,7 @@ $limit .= "LIMIT $maxrecords" if $maxrecords;
 my $offset = $cgi->param('offset') || 0;
 $limit .= " OFFSET $offset" if $offset;
 
-my $total;
+my $total = 0;
 
 my(@cust_main, $sortby, $orderby);
 if ( $cgi->param('browse') ) {
@@ -134,6 +134,9 @@ if ( $cgi->param('browse') ) {
     if $cgi->param('showcancelledcustomers') eq '0' #see if it was set by me
        || ( $conf->exists('hidecancelledcustomers')
              && ! $cgi->param('showcancelledcustomers') );
+
+  my %saw = ();
+  @cust_main = grep { !$saw{$_->custnum}++ } @cust_main;
 }
 
 my %all_pkgs;
@@ -150,10 +153,16 @@ if ( scalar(@cust_main) == 1 && ! $cgi->param('referral_custnum') ) {
   } else {
     print $cgi->redirect(popurl(2). "view/cust_main.cgi?". $cust_main[0]->custnum);
   }
-  exit;
+  #exit;
 } elsif ( scalar(@cust_main) == 0 ) {
+%>
+<!-- mason kludge -->
+<%
   eidiot "No matching customers found!\n";
 } else { 
+%>
+<!-- mason kludge -->
+<%
 
   $total ||= scalar(@cust_main);
   print header("Customer Search Results",menubar(