X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fsvc_forward.cgi;h=2e6c5f1a074f1e8d68fc898c76e77752816ced03;hb=8d581f6199c27147f417f73cc9f58260efabf327;hp=f1aa1c628dc724a6bebbeb088c5e58fe9f12f74d;hpb=8a8c9386cbd3383b0134aae8e32b5995f8886fb2;p=freeside.git
diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi
index f1aa1c628..2e6c5f1a0 100755
--- a/httemplate/edit/svc_forward.cgi
+++ b/httemplate/edit/svc_forward.cgi
@@ -1,37 +1,9 @@
+
<%
-#
-# $Id: svc_forward.cgi,v 1.1 2001-08-19 15:53:35 jeff Exp $
-#
-# Usage: svc_forward.cgi {svcnum} | pkgnum{pkgnum}-svcpart{svcpart}
-# http://server.name/path/svc_forward.cgi? {svcnum} | pkgnum{pkgnum}-svcpart{svcpart}
-#
-# use {svcnum} for edit, pkgnum{pkgnum}-svcpart{svcpart} for add
-#
-# should error out in a more CGI-friendly way, and should have more error checking (sigh).
-#
-# $Log: svc_forward.cgi,v $
-# Revision 1.1 2001-08-19 15:53:35 jeff
-# added user interface for svc_forward and vpopmail support
-#
-#
-
-use strict;
-use vars qw( $conf $cgi $mydomain $action $svcnum $svc_forward $pkgnum $svcpart
- $part_svc $query %email $p1 $srcsvc $dstsvc $dst );
-use CGI;
-use CGI::Carp qw(fatalsToBrowser);
-use FS::UID qw(cgisuidsetup);
-use FS::CGI qw(header popurl);
-use FS::Record qw(qsearch qsearchs fields);
-use FS::svc_forward;
-use FS::Conf;
-
-$cgi = new CGI;
-&cgisuidsetup($cgi);
-
-$conf = new FS::Conf;
-$mydomain = $conf->config('domain');
+my $conf = new FS::Conf;
+
+my($svcnum, $pkgnum, $svcpart, $part_svc, $svc_forward);
if ( $cgi->param('error') ) {
$svc_forward = new FS::svc_forward ( {
map { $_, scalar($cgi->param($_)) } fields('svc_forward')
@@ -42,7 +14,9 @@ if ( $cgi->param('error') ) {
$part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart});
die "No part_svc entry!" unless $part_svc;
} else {
+
my($query) = $cgi->keywords;
+
if ( $query =~ /^(\d+)$/ ) { #editing
$svcnum=$1;
$svc_forward=qsearchs('svc_forward',{'svcnum'=>$svcnum})
@@ -71,29 +45,29 @@ if ( $cgi->param('error') ) {
$svcnum='';
#set fixed and default fields from part_svc
- my($field);
- foreach $field ( fields('svc_forward') ) {
- if ( $part_svc->getfield('svc_forward__'. $field. '_flag') ne '' ) {
- $svc_forward->setfield($field,$part_svc->getfield('svc_forward__'. $field) );
- }
+ foreach my $part_svc_column (
+ grep { $_->columnflag } $part_svc->all_part_svc_column
+ ) {
+ $svc_forward->setfield( $part_svc_column->columnname,
+ $part_svc_column->columnvalue,
+ );
}
-
}
+
}
-$action = $svc_forward->svcnum ? 'Edit' : 'Add';
+my $action = $svc_forward->svcnum ? 'Edit' : 'Add';
-if ($pkgnum) {
+my %email;
- #find all possible user svcnums (and emails)
+#starting with those currently attached
+foreach my $method (qw( srcsvc_acct dstsvc_acct )) {
+ my $svc_acct = $svc_forward->$method();
+ $email{$svc_acct->svcnum} = $svc_acct->email if $svc_acct;
+}
- #starting with those currently attached
- my($svc_acct)=qsearchs('svc_acct',{'svcnum'=>$svc_forward->srcsvc});
- $email{$svc_forward->srcsvc} = $svc_acct->email;
+if ($pkgnum) {
- if ($svc_forward->dstsvc) {
- $svc_acct=qsearchs('svc_acct',{'svcnum'=>$svc_forward->dstsvc});
- $email{$svc_forward->dstsvc} = $svc_acct->email;
- }
+ #find all possible user svcnums (and emails)
#and including the rest for this customer
my($u_part_svc,@u_acct_svcparts);
@@ -110,133 +84,90 @@ if ($pkgnum) {
foreach $acct_svcpart (@u_acct_svcparts) { #now find the corresponding
#record(s) in cust_svc ( for this
#pkgnum ! )
- my($i_cust_svc);
- foreach $i_cust_svc ( qsearch('cust_svc',{'pkgnum'=>$cust_pkgnum,'svcpart'=>$acct_svcpart}) ) {
- $svc_acct=qsearchs('svc_acct',{'svcnum'=>$i_cust_svc->getfield('svcnum')});
- $email{$svc_acct->getfield('svcnum')}=$svc_acct->email;
+ foreach my $i_cust_svc (
+ qsearch( 'cust_svc', { 'pkgnum' => $cust_pkgnum,
+ 'svcpart' => $acct_svcpart } )
+ ) {
+ my $svc_acct =
+ qsearchs( 'svc_acct', { 'svcnum' => $i_cust_svc->svcnum } );
+ $email{$svc_acct->svcnum} = $svc_acct->email;
}
}
}
-} elsif ( $action eq 'Edit' ) {
-
- my($svc_acct)=qsearchs('svc_acct',{'svcnum'=>$svc_forward->srcsvc});
- $email{$svc_forward->srcsvc} = $svc_acct->email;
-
- $svc_acct=qsearchs('svc_acct',{'svcnum'=>$svc_forward->dstsvc});
- $email{$svc_forward->dstsvc} = $svc_acct->email;
-
-} else {
+} elsif ( $action eq 'Add' ) {
die "\$action eq Add, but \$pkgnum is null!\n";
}
-($srcsvc,$dstsvc,$dst)=(
+my($srcsvc,$dstsvc,$dst)=(
$svc_forward->srcsvc,
$svc_forward->dstsvc,
$svc_forward->dst,
);
+my $src = $svc_forward->dbdef_table->column('src') ? $svc_forward->src : '';
#display
-$p1 = popurl(1);
-print $cgi->header( '-expires' => 'now' ), header("Mail Forward $action", '',
- " onLoad=\"visualize()\"");
-
%>
-
+<%= header("Mail Forward $action") %>
-<%
+<% if ( $cgi->param('error') ) { %>
+ Error: <%= $cgi->param('error') %>
+
+<% } %>
-print qq!Error: !, $cgi->param('error'),
- ""
- if $cgi->param('error');
+Service #<%= $svcnum ? "$svcnum" : " (NEW)" %>
+Service: <%= $part_svc->svc %>
-print qq!