X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fsearch%2Fsvc_domain.cgi;h=b09c65a0b8dfdcd2347fb964dab0423ad52835ba;hp=8bcf4a694fedd8b3c060dec3b21a9774716b885a;hb=c14a267229fc0d6f2d2afdebab3bd34d825df2ef;hpb=51984ac3d3da3006809c6866fdecd4ad83610731 diff --git a/httemplate/search/svc_domain.cgi b/httemplate/search/svc_domain.cgi index 8bcf4a694..b09c65a0b 100755 --- a/httemplate/search/svc_domain.cgi +++ b/httemplate/search/svc_domain.cgi @@ -1,55 +1,5 @@ <% -# -# $Id: svc_domain.cgi,v 1.1 2001-07-30 07:36:04 ivan Exp $ -# -# Usage: post form to: -# http://server.name/path/svc_domain.cgi -# -# ivan@voicenet.com 97-mar-5 -# -# rewrite ivan@sisd.com 98-mar-14 -# -# Changes to allow page to work at a relative position in server -# bmccane@maxbaud.net 98-apr-3 -# -# display total, use FS::CGI now does browsing too ivan@sisd.com 98-jul-17 -# -# $Log: svc_domain.cgi,v $ -# Revision 1.1 2001-07-30 07:36:04 ivan -# templates!!! -# -# Revision 1.11 2000/03/03 18:22:44 ivan -# changes from 1.2.3 release, fixes from webdemo -# -# Revision 1.10 1999/07/17 10:38:52 ivan -# scott nelson noticed this mod_perl-triggered bug and -# gave me a great bugreport at the last rhythmethod -# -# Revision 1.9 1999/04/15 13:39:16 ivan -# $cgi->header( '-expires' => 'now' ) -# -# Revision 1.8 1999/02/28 00:03:57 ivan -# removed misleading comments -# -# Revision 1.7 1999/02/23 08:09:24 ivan -# beginnings of one-screen new customer entry and some other miscellania -# -# Revision 1.6 1999/02/09 09:22:59 ivan -# visual and bugfixes -# -# Revision 1.5 1999/02/07 09:59:39 ivan -# more mod_perl fixes, and bugfixes Peter Wemm sent via email -# -# Revision 1.4 1999/01/19 05:14:17 ivan -# for mod_perl: no more top-level my() variables; use vars instead -# also the last s/create/new/; -# -# Revision 1.3 1998/12/23 03:06:50 ivan -# $cgi->keywords instead of $cgi->query_string -# -# Revision 1.2 1998/12/17 09:41:12 ivan -# s/CGI::(Base|Request)/CGI.pm/; -# +# use strict; use vars qw ( $cgi @svc_domain $sortby $query $conf $mydomain ); @@ -60,8 +10,8 @@ use FS::Record qw(qsearch qsearchs); use FS::CGI qw(header eidiot popurl); use FS::svc_domain; use FS::cust_svc; -use FS::svc_acct_sm; use FS::svc_acct; +use FS::svc_forward; $cgi = new CGI; &cgisuidsetup($cgi); @@ -104,23 +54,26 @@ if ( scalar(@svc_domain) == 1 ) { } else { my($total)=scalar(@svc_domain); - print $cgi->header( '-expires' => 'now' ), - header("Domain Search Results",''), < Service # Domain - Mail to
(click to view mail alias) + Mail to
(click to view account) Forwards to
(click to view account) END - my(%saw,$svc_domain); +# my(%saw); # if we've multiple domains with the same + # svcnum, then we've a corrupt database + + my($svc_domain); my $p = popurl(2); foreach $svc_domain ( - sort $sortby grep(!$saw{$_->svcnum}++, @svc_domain) +# sort $sortby grep(!$saw{$_->svcnum}++, @svc_domain) + sort $sortby (@svc_domain) ) { my($svcnum,$domain)=( $svc_domain->svcnum, @@ -139,57 +92,65 @@ END # $malias=''; #} - my @svc_acct_sm=qsearch('svc_acct_sm',{'domsvc' => $svcnum}); - my $rowspan = scalar(@svc_acct_sm) || 1; - - print < - $svcnum - $domain -END + my @svc_acct=qsearch('svc_acct',{'domsvc' => $svcnum}); + my $rowspan = 0; my $n1 = ''; - # false laziness: this was stolen from search/svc_acct_sm.cgi. but the - # web interface in general needs to be rewritten in a mucho cleaner way - my($svc_acct_sm); - foreach $svc_acct_sm (@svc_acct_sm) { - my($svcnum,$domuser,$domuid,$domsvc)=( - $svc_acct_sm->svcnum, - $svc_acct_sm->domuser, - $svc_acct_sm->domuid, - $svc_acct_sm->domsvc, + 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_domain = qsearchs( 'svc_domain', { 'svcnum' => $domsvc } ); - #if ( $svc_domain ) { - # my $domain = $svc_domain->domain; - - print qq!$n1!, - #print '', ( ($domuser eq '*') ? "(anything)" : $domuser ); - ( ($domuser eq '*') ? "(anything)" : $domuser ), - qq!\@$domain !, - ; - #} else { - # my $warning = "couldn't find svc_domain.svcnum $svcnum ( svc_acct_sm.svcnum $svcnum"; - # warn $warning; - # print "$n1WARNING: $warning"; - #} - - my $svc_acct = qsearchs( 'svc_acct', { 'uid' => $domuid } ); - if ( $svc_acct ) { - my $username = $svc_acct->username; - my $svc_acct_svcnum =$svc_acct->svcnum; - print qq!$username\@$mydomain!, - qq!! - ; - } else { - my $warning = "couldn't find svc_acct.uid $domuid (svc_acct_sm.svcnum $svcnum)!"; - warn $warning; - print "WARNING: $warning"; + + 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!$destination!, + qq!! + ; + }else{ + push @forwards, qq!$dst! + ; + } } + + push @rows, qq!$n1!, + #print '', ( ($domuser eq '*') ? "(anything)" : $domuser ); + ( ($username eq '*') ? "(anything)" : $username ), + qq!\@$domain !, + ; + + push @rows, @forwards; + + $rowspan += (scalar(@svc_forward) || 1); $n1 = ""; } #end of false laziness + + + + print < + $svcnum + $domain +END + + print @rows; print ""; } @@ -207,7 +168,7 @@ sub svcnum_sort { } sub domain_sort { - $a->getfield('domain') cmp $b->getfield('doimain'); + $a->getfield('domain') cmp $b->getfield('domain'); }