recommend HTML::Mason
[freeside.git] / httemplate / search / svc_domain.cgi
index 334b6c0..948b1d9 100755 (executable)
@@ -1,7 +1,6 @@
 <%
 
 my $conf = new FS::Conf;
-my $mydomain = $conf->config('domain');
 
 my($query)=$cgi->keywords;
 $query ||= ''; #to avoid use of unitialized value errors
@@ -24,6 +23,13 @@ if ( $query eq 'svcnum' ) {
       'svcnum' => $_->svcnum,
       'pkgnum' => '',
     }), qsearch('svc_domain',{});
+} elsif ( $cgi->param('svcpart') =~ /^(\d+)$/ ) {
+  @svc_domain =
+    qsearch( 'svc_domain', {}, '',
+               " WHERE $1 = ( SELECT svcpart FROM cust_svc ".
+               "              WHERE cust_svc.svcnum = svc_domain.svcnum ) "
+    );
+  $sortby=\*svcnum_sort;
 } else {
   $cgi->param('domain') =~ /^([\w\-\.]+)$/; 
   my($domain)=$1;
@@ -35,9 +41,14 @@ if ( scalar(@svc_domain) == 1 ) {
   print $cgi->redirect(popurl(2). "view/svc_domain.cgi?". $svc_domain[0]->svcnum);
   #exit;
 } elsif ( scalar(@svc_domain) == 0 ) {
+%>
+<!-- mason kludge -->
+<%
   eidiot "No matching domains found!\n";
 } else {
-
+%>
+<!-- mason kludge -->
+<%
   my($total)=scalar(@svc_domain);
   print header("Domain Search Results",''), <<END;
 
@@ -46,8 +57,9 @@ if ( scalar(@svc_domain) == 1 ) {
       <TR>
         <TH>Service #</TH>
         <TH>Domain</TH>
-        <TH>Mail to<BR><FONT SIZE=-1>(click to view account)</FONT></TH>
+<!--        <TH>Mail to<BR><FONT SIZE=-1>(click to view account)</FONT></TH>
         <TH>Forwards to<BR><FONT SIZE=-1>(click to view account)</FONT></TH>
+-->
       </TR>
 END
 
@@ -62,78 +74,69 @@ END
       $svc_domain->svcnum,
       $svc_domain->domain,
     );
-    #my($malias);
-    #if ( qsearch('svc_acct_sm',{'domsvc'=>$svcnum}) ) {
-    #  $malias=(
-    #    qq|<FORM ACTION="svc_acct_sm.cgi" METHOD="post">|.
-    #      qq|<INPUT TYPE="hidden" NAME="domuser" VALUE="">|.
-    #      qq|<INPUT TYPE="hidden" NAME="domain" VALUE="$domain">|.
-    #      qq|<INPUT TYPE="submit" VALUE="(mail aliases)">|.
-    #      qq|</FORM>|
+
+    #don't display all accounts here
+    my $rowspan = 1;
+
+    #my @svc_acct=qsearch('svc_acct',{'domsvc' => $svcnum});
+    #my $rowspan = 0;
+    #
+    #my $n1 = '';
+    #my($svc_acct, @rows);
+    #foreach $svc_acct (
+    #  sort {$b->getfield('username') cmp $a->getfield('username')} (@svc_acct)
+    #) {
+    #
+    #  my (@forwards) = ();
+    #
+    #  my($svcnum,$username)=(
+    #    $svc_acct->svcnum,
+    #    $svc_acct->username,
     #  );
-    #} else {
-    #  $malias='';
+    #
+    #  my @svc_forward = qsearch( 'svc_forward', { 'srcsvc' => $svcnum } );
+    #  my $svc_forward;
+    #  foreach $svc_forward (@svc_forward) {
+    #    my($dstsvc,$dst) = (
+    #      $svc_forward->dstsvc,
+    #      $svc_forward->dst,
+    #    );
+    #    if ($dstsvc) {
+    #      my $dst_svc_acct=qsearchs( 'svc_acct', { 'svcnum' => $dstsvc } );
+    #      my $destination=$dst_svc_acct->email;
+    #      push @forwards, qq!<TD><A HREF="!, popurl(2),
+    #            qq!view/svc_acct.cgi?$dstsvc">$destination</A>!,
+    #            qq!</TD></TR>!
+    #      ;
+    #    }else{
+    #      push @forwards, qq!<TD>$dst</TD></TR>!
+    #      ;
+    #    }
+    #  }
+    #
+    #  push @rows, qq!$n1<TD ROWSPAN=!, (scalar(@svc_forward) || 1),
+    #        qq!><A HREF="!. popurl(2). qq!view/svc_acct.cgi?$svcnum">!,
+    #  #print '', ( ($domuser eq '*') ? "<I>(anything)</I>" : $domuser );
+    #        ( ($username eq '*') ? "<I>(anything)</I>" : $username ),
+    #        qq!\@$domain</A> </TD>!,
+    #  ;
+    #
+    #  push @rows, @forwards;
+    #
+    #  $rowspan += (scalar(@svc_forward) || 1);
+    #  $n1 = "</TR><TR>";
     #}
-
-    my @svc_acct=qsearch('svc_acct',{'domsvc' => $svcnum});
-    my $rowspan = 0;
-
-    my $n1 = '';
-    my($svc_acct, @rows);
-    foreach $svc_acct (
-      sort {$b->getfield('username') cmp $a->getfield('username')} (@svc_acct)
-    ) {
-
-      my (@forwards) = ();
-
-      my($svcnum,$username)=(
-        $svc_acct->svcnum,
-        $svc_acct->username,
-      );
-
-      my @svc_forward = qsearch( 'svc_forward', { 'srcsvc' => $svcnum } );
-      my $svc_forward;
-      foreach $svc_forward (@svc_forward) {
-        my($dstsvc,$dst) = (
-          $svc_forward->dstsvc,
-          $svc_forward->dst,
-        );
-        if ($dstsvc) {
-          my $dst_svc_acct=qsearchs( 'svc_acct', { 'svcnum' => $dstsvc } );
-          my $destination=$dst_svc_acct->email;
-          push @forwards, qq!<TD><A HREF="!, popurl(2),
-                qq!view/svc_acct.cgi?$dstsvc">$destination</A>!,
-                qq!</TD></TR>!
-          ;
-        }else{
-          push @forwards, qq!<TD>$dst</TD></TR>!
-          ;
-        }
-      }
-
-      push @rows, qq!$n1<TD ROWSPAN=!, (scalar(@svc_forward) || 1),
-            qq!><A HREF="!. popurl(2). qq!view/svc_acct.cgi?$svcnum">!,
-      #print '', ( ($domuser eq '*') ? "<I>(anything)</I>" : $domuser );
-            ( ($username eq '*') ? "<I>(anything)</I>" : $username ),
-            qq!\@$domain</A> </TD>!,
-      ;
-
-      push @rows, @forwards;
-
-      $rowspan += (scalar(@svc_forward) || 1);
-      $n1 = "</TR><TR>";
-    }
-    #end of false laziness
-
-
+    ##end of false laziness
+    #
+    #
 
     print <<END;
     <TR>
-      <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_domain.cgi?$svcnum"><FONT SIZE=-1>$svcnum</FONT></A></TD>
-      <TD ROWSPAN=$rowspan>$domain</TD>
+      <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_domain.cgi?$svcnum">$svcnum</A></TD>
+      <TD ROWSPAN=$rowspan><A HREF="${p}view/svc_domain.cgi?$svcnum">$domain</A></TD>
 END
 
-    print @rows;
+    #print @rows;
     print "</TR>";
 
   }