From ecf57b84d7a29c9bebac62eb5ebf178332163fd9 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 13 Feb 2004 11:28:07 +0000 Subject: [PATCH] add mail alias browse to main menu and fix mail alias view to recognize new schema also --- httemplate/index.html | 3 +- httemplate/search/svc_forward.cgi | 79 +++++++++++++++++++++++++++++++++++++++ httemplate/view/svc_forward.cgi | 17 +++++++-- 3 files changed, 94 insertions(+), 5 deletions(-) create mode 100755 httemplate/search/svc_forward.cgi diff --git a/httemplate/index.html b/httemplate/index.html index 7d90efc71..d39f8b04d 100644 --- a/httemplate/index.html +++ b/httemplate/index.html @@ -34,7 +34,8 @@
Phone #

Username or all accounts by username or uid

Domain or all domains
- +
all mail forwards by svcnum
+
diff --git a/httemplate/search/svc_forward.cgi b/httemplate/search/svc_forward.cgi new file mode 100755 index 000000000..10094bc99 --- /dev/null +++ b/httemplate/search/svc_forward.cgi @@ -0,0 +1,79 @@ +<% + +my $conf = new FS::Conf; + +my($query)=$cgi->keywords; +$query ||= ''; #to avoid use of unitialized value errors +my(@svc_forward,$sortby); +if ( $query eq 'svcnum' ) { + $sortby=\*svcnum_sort; + @svc_forward=qsearch('svc_forward',{}); +} else { + eidiot('unimplemented'); +} + +if ( scalar(@svc_forward) == 1 ) { + print $cgi->redirect(popurl(2). "view/svc_forward.cgi?". $svc_forward[0]->svcnum); + #exit; +} elsif ( scalar(@svc_forward) == 0 ) { +%> + +<% + eidiot "No matching forwards found!\n"; +} else { +%> + +<% + my $total = scalar(@svc_forward); + print header("Mail forward Search Results",''), < + + Service #
(click to view forward) + Mail to
(click to view account) + Forwards to
(click to view account) + +END + + foreach my $svc_forward ( + sort $sortby (@svc_forward) + ) { + my $svcnum = $svc_forward->svcnum; + + my $src = $svc_forward->src; + $src = "(anything)$src" if $src =~ /^@/; + if ( $svc_forward->srcsvc_acct ) { + $src = qq!'. + $svc_forward->srcsvc_acct->email. ''; + } + + my $dst = $svc_forward->dst; + if ( $svc_forward->dstsvc_acct ) { + $dst = qq!'. + $svc_forward->dstsvc_acct->email. ''; + } + + print < + $svcnum + $src + $dst + +END + + } + + print < + + +END + +} + +sub svcnum_sort { + $a->getfield('svcnum') <=> $b->getfield('svcnum'); +} + +%> diff --git a/httemplate/view/svc_forward.cgi b/httemplate/view/svc_forward.cgi index 5d619de54..c2ce164d1 100755 --- a/httemplate/view/svc_forward.cgi +++ b/httemplate/view/svc_forward.cgi @@ -39,16 +39,25 @@ my($srcsvc,$dstsvc,$dst) = ( $svc_forward->dstsvc, $svc_forward->dst, ); +my $src = $svc_forward->dbdef_table->column('src') ? $svc_forward->src : ''; + my $svc = $part_svc->svc; -my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$srcsvc}) - or die "Corrupted database: no svc_acct.svcnum matching srcsvc $srcsvc"; -my $source = $svc_acct->email; + +my $source; +if ($srcsvc) { + my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$srcsvc}) + or die "Corrupted database: no svc_acct.svcnum matching srcsvc $srcsvc"; + $source = $svc_acct->email; +} else { + $source = $src; +} + my $destination; if ($dstsvc) { my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$dstsvc}) or die "Corrupted database: no svc_acct.svcnum matching dstsvc $dstsvc"; $destination = $svc_acct->email; -}else{ +} else { $destination = $dst; } -- 2.11.0