From 8a8c9386cbd3383b0134aae8e32b5995f8886fb2 Mon Sep 17 00:00:00 2001 From: jeff Date: Sun, 19 Aug 2001 15:53:36 +0000 Subject: added user interface for svc_forward and vpopmail support --- httemplate/edit/svc_forward.cgi | 242 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100755 httemplate/edit/svc_forward.cgi (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi new file mode 100755 index 000000000..f1aa1c628 --- /dev/null +++ b/httemplate/edit/svc_forward.cgi @@ -0,0 +1,242 @@ +<% +# +# $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'); + +if ( $cgi->param('error') ) { + $svc_forward = new FS::svc_forward ( { + map { $_, scalar($cgi->param($_)) } fields('svc_forward') + } ); + $svcnum = $svc_forward->svcnum; + $pkgnum = $cgi->param('pkgnum'); + $svcpart = $cgi->param('svcpart'); + $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}) + or die "Unknown (svc_forward) svcnum!"; + + my($cust_svc)=qsearchs('cust_svc',{'svcnum'=>$svcnum}) + or die "Unknown (cust_svc) svcnum!"; + + $pkgnum=$cust_svc->pkgnum; + $svcpart=$cust_svc->svcpart; + + $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); + die "No part_svc entry!" unless $part_svc; + + } else { #adding + + $svc_forward = new FS::svc_forward({}); + + foreach $_ (split(/-/,$query)) { #get & untaint pkgnum & svcpart + $pkgnum=$1 if /^pkgnum(\d+)$/; + $svcpart=$1 if /^svcpart(\d+)$/; + } + $part_svc=qsearchs('part_svc',{'svcpart'=>$svcpart}); + die "No part_svc entry!" unless $part_svc; + + $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) ); + } + } + + } +} +$action = $svc_forward->svcnum ? 'Edit' : 'Add'; + +if ($pkgnum) { + + #find all possible user svcnums (and emails) + + #starting with those currently attached + my($svc_acct)=qsearchs('svc_acct',{'svcnum'=>$svc_forward->srcsvc}); + $email{$svc_forward->srcsvc} = $svc_acct->email; + + if ($svc_forward->dstsvc) { + $svc_acct=qsearchs('svc_acct',{'svcnum'=>$svc_forward->dstsvc}); + $email{$svc_forward->dstsvc} = $svc_acct->email; + } + + #and including the rest for this customer + my($u_part_svc,@u_acct_svcparts); + foreach $u_part_svc ( qsearch('part_svc',{'svcdb'=>'svc_acct'}) ) { + push @u_acct_svcparts,$u_part_svc->getfield('svcpart'); + } + + my($cust_pkg)=qsearchs('cust_pkg',{'pkgnum'=>$pkgnum}); + my($custnum)=$cust_pkg->getfield('custnum'); + my($i_cust_pkg); + foreach $i_cust_pkg ( qsearch('cust_pkg',{'custnum'=>$custnum}) ) { + my($cust_pkgnum)=$i_cust_pkg->getfield('pkgnum'); + my($acct_svcpart); + 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; + } + } + } + +} 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 { + die "\$action eq Add, but \$pkgnum is null!\n"; +} + +($srcsvc,$dstsvc,$dst)=( + $svc_forward->srcsvc, + $svc_forward->dstsvc, + $svc_forward->dst, +); + +#display + +$p1 = popurl(1); +print $cgi->header( '-expires' => 'now' ), header("Mail Forward $action", '', + " onLoad=\"visualize()\""); + +%> + + + +<% + +print qq!Error: !, $cgi->param('error'), + "" + if $cgi->param('error'); + +print qq!
!; + +#svcnum +print qq!!; +print qq!Service #!, $svcnum ? $svcnum : " (NEW)", ""; +print qq!
!; + +#pkgnum +print qq!!; + +#svcpart +print qq!!; + +#srcsvc +print qq!\n\nMail to "; + +#dstsvc +print qq! forwards to mailbox."; + +%> + + + +<% +print qq! Other destination: !; +%> + + + +
+
+ + + + + + -- cgit v1.2.1 From 3d671921441ba8422650b54435a1959ad1d4c71d Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 21 Aug 2001 02:31:57 +0000 Subject: remove $Log$ messages. whew. --- httemplate/edit/svc_forward.cgi | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index f1aa1c628..86e2e9547 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -1,19 +1,5 @@ <% -# -# $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 -- cgit v1.2.1 From 06d6c58f29564e0cbf92c6df01c7c0409a5c3097 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 21 Aug 2001 10:27:11 +0000 Subject: fix these up, most everything is working svc_forward-wise now --- httemplate/edit/svc_forward.cgi | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index 86e2e9547..de4c8cbc9 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -1,5 +1,5 @@ <% -# +# use strict; use vars qw( $conf $cgi $mydomain $action $svcnum $svc_forward $pkgnum $svcpart @@ -73,11 +73,12 @@ if ($pkgnum) { #find all possible user svcnums (and emails) #starting with those currently attached - my($svc_acct)=qsearchs('svc_acct',{'svcnum'=>$svc_forward->srcsvc}); - $email{$svc_forward->srcsvc} = $svc_acct->email; - - if ($svc_forward->dstsvc) { - $svc_acct=qsearchs('svc_acct',{'svcnum'=>$svc_forward->dstsvc}); + if ( $svc_forward->srcsvc ) { + my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $svc_forward->srcsvc } ); + $email{$svc_forward->srcsvc} = $svc_acct->email; + } + if ( $svc_forward->dstsvc ) { + my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $svc_forward->dstsvc } ); $email{$svc_forward->dstsvc} = $svc_acct->email; } -- cgit v1.2.1 From 844855ae401bc5a7167b5fa8898275f89719ed71 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 11 Sep 2001 23:44:01 +0000 Subject: radius attributes & default/fixed values should work again now --- httemplate/edit/svc_forward.cgi | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index de4c8cbc9..287833e53 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -1,5 +1,5 @@ <% -# +# use strict; use vars qw( $conf $cgi $mydomain $action $svcnum $svc_forward $pkgnum $svcpart @@ -57,13 +57,15 @@ 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'; -- cgit v1.2.1 From 91387f8f489e561deaf1de052d80ef800a4970a3 Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 26 Oct 2001 10:24:56 +0000 Subject: cache foo *sigh* --- httemplate/edit/svc_forward.cgi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index 287833e53..0529c2b86 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -1,5 +1,5 @@ <% -# +# use strict; use vars qw( $conf $cgi $mydomain $action $svcnum $svc_forward $pkgnum $svcpart @@ -128,7 +128,7 @@ if ($pkgnum) { #display $p1 = popurl(1); -print $cgi->header( '-expires' => 'now' ), header("Mail Forward $action", '', +print $cgi->header( @FS::CGI::header ), header("Mail Forward $action", '', " onLoad=\"visualize()\""); %> -- cgit v1.2.1 From c14a267229fc0d6f2d2afdebab3bd34d825df2ef Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 30 Oct 2001 14:54:07 +0000 Subject: get rid of header foo in individual templates --- httemplate/edit/svc_forward.cgi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index 0529c2b86..caf6ee76d 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -1,5 +1,5 @@ <% -# +# use strict; use vars qw( $conf $cgi $mydomain $action $svcnum $svc_forward $pkgnum $svcpart @@ -128,7 +128,7 @@ if ($pkgnum) { #display $p1 = popurl(1); -print $cgi->header( @FS::CGI::header ), header("Mail Forward $action", '', +print header("Mail Forward $action", '', " onLoad=\"visualize()\""); %> -- cgit v1.2.1 From b97e635c30397464a0161feb9f2aa1b472710410 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 4 Dec 2001 13:10:16 +0000 Subject: from Dave Burgess : I had to change line 104 in /edit/svc_forward.cgi and add 'my' as the qualifier on the LHS of the assignment. This also solves the problem with a similar error on the RHS of line 105. It also seems to make the routine work fairly reliably (it has been problematic for me in the past). --- httemplate/edit/svc_forward.cgi | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index caf6ee76d..75cd9fc7f 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -1,5 +1,5 @@ <% -# +# use strict; use vars qw( $conf $cgi $mydomain $action $svcnum $svc_forward $pkgnum $svcpart @@ -99,10 +99,13 @@ 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; } } } -- cgit v1.2.1 From 1fd6d8cf5d7854860ef4fd10ed89828e0c04ec39 Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 30 Jan 2002 14:18:09 +0000 Subject: remove use Module; and $cgi = new CGI; &cgisuidsetup(); from all templates. should work better under Mason. --- httemplate/edit/svc_forward.cgi | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index 75cd9fc7f..cda577b76 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -1,23 +1,10 @@ + <% -# -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 $mydomain = $conf->config('domain'); +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') @@ -28,7 +15,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}) @@ -64,12 +53,12 @@ if ( $cgi->param('error') ) { $part_svc_column->columnvalue, ); } - - } + } -$action = $svc_forward->svcnum ? 'Edit' : 'Add'; +my $action = $svc_forward->svcnum ? 'Edit' : 'Add'; +my %email; if ($pkgnum) { #find all possible user svcnums (and emails) @@ -122,7 +111,7 @@ if ($pkgnum) { 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, @@ -130,7 +119,7 @@ if ($pkgnum) { #display -$p1 = popurl(1); +my $p1 = popurl(1); print header("Mail Forward $action", '', " onLoad=\"visualize()\""); -- cgit v1.2.1 From 22a35047ecdffff80110e06cc08fc84f9ddba9b0 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 10 Feb 2002 13:21:31 +0000 Subject: removed from all files to fix any redirects, whew Mason handler.pl overrides CGI::redirect fixed strict; problems in edit/part_pkg.cgi & edit/process/part_pkg.cgi --- httemplate/edit/svc_forward.cgi | 1 - 1 file changed, 1 deletion(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index cda577b76..88558ca90 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -1,4 +1,3 @@ - <% my $conf = new FS::Conf; -- cgit v1.2.1 From a4c96748eb6eab29a70f3a944c6520283a635c78 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 10 Feb 2002 16:05:22 +0000 Subject: *finally* seems to be working under Mason. sheesh. *finally* seems to be working under Mason. sheesh. *finally* seems to be working under Mason. sheesh. *finally* seems to be working under Mason. sheesh. *finally* seems to be working under Mason. sheesh. *finally* seems to be working under Mason. sheesh. *finally* seems to be working under Mason. sheesh. *finally* seems to be working under Mason. sheesh. --- httemplate/edit/svc_forward.cgi | 1 + 1 file changed, 1 insertion(+) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index 88558ca90..5f1466bbb 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -1,3 +1,4 @@ + <% my $conf = new FS::Conf; -- cgit v1.2.1 From 9b6e476ab5a9f42877543065eff960928df2304b Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 6 Jul 2002 11:08:48 +0000 Subject: fix UI for forwards - use HTML::Widgets::SelectLayers, closes: Bug#303 --- httemplate/edit/svc_forward.cgi | 133 +++++++++++++--------------------------- 1 file changed, 43 insertions(+), 90 deletions(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index 5f1466bbb..bc19fe1de 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -119,105 +119,58 @@ my($srcsvc,$dstsvc,$dst)=( #display -my $p1 = popurl(1); -print header("Mail Forward $action", '', - " onLoad=\"visualize()\""); - %> - - -<% - -print qq!Error: !, $cgi->param('error'), - "" - if $cgi->param('error'); +<%= header("Mail Forward $action") %> -print qq!
!; +<% if ( $cgi->param('error') ) { %> + Error: <%= $cgi->param('error') %> +

+<% } %> -#svcnum -print qq!!; -print qq!Service #!, $svcnum ? $svcnum : " (NEW)", ""; -print qq!
!; +Service #<%= $svcnum ? "$svcnum" : " (NEW)" %>
+Service: <%= $part_svc->svc %>

-#pkgnum -print qq!!; - -#svcpart -print qq!!; - -#srcsvc -print qq!\n\nMail to "; + -#dstsvc -print qq! forwards to mailbox."; - -%> - - +<%= ntable("#cccccc",2) %> +Email to <% -print qq! Other destination: !; + tie my %tied_email, 'Tie::IxHash', + '' => 'SELECT DESTINATION', + %email, + '0' => '(other email address)'; + my $widget = new HTML::Widgets::SelectLayers( + 'selected_layer' => $dstsvc, + 'options' => \%tied_email, + 'form_name' => 'dummy', + 'form_action' => 'process/svc_forward.cgi', + 'form_select' => ['srcsvc'], + 'html_between' => '', + 'layer_callback' => sub { + my $layer = shift; + my $html = qq!!. + qq!!. + qq!!. + qq!!; + if ( $layer eq '0' ) { + $html .= ntable("#cccccc",2). + 'Destination email'. + qq!!. + ''; + } + $html .= '
'; + $html; + }, + ); %> - - -
-
- - - - +Forwards to +<%= $widget->html %> -- cgit v1.2.1 From c1e33a61324f4e06157c522af7882a97a021830f Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 18 Sep 2002 22:50:44 +0000 Subject: remove domain config file, closes: Bug#269 --- httemplate/edit/svc_forward.cgi | 1 - 1 file changed, 1 deletion(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index bc19fe1de..0d815b9e5 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -2,7 +2,6 @@ <% my $conf = new FS::Conf; -my $mydomain = $conf->config('domain'); my($svcnum, $pkgnum, $svcpart, $part_svc, $svc_forward); if ( $cgi->param('error') ) { -- cgit v1.2.1 From 395e0a932b6728326f8f5242f7f0a82e2dac919d Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 25 Feb 2004 10:37:22 +0000 Subject: fix up forward editing for new svc_forward.src field --- httemplate/edit/svc_forward.cgi | 104 ++++++++++++++++++++-------------------- 1 file changed, 51 insertions(+), 53 deletions(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index 0d815b9e5..c323fa29e 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -58,20 +58,17 @@ if ( $cgi->param('error') ) { my $action = $svc_forward->svcnum ? 'Edit' : 'Add'; my %email; + +#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; +} + if ($pkgnum) { #find all possible user svcnums (and emails) - #starting with those currently attached - if ( $svc_forward->srcsvc ) { - my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $svc_forward->srcsvc } ); - $email{$svc_forward->srcsvc} = $svc_acct->email; - } - if ( $svc_forward->dstsvc ) { - my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $svc_forward->dstsvc } ); - $email{$svc_forward->dstsvc} = $svc_acct->email; - } - #and including the rest for this customer my($u_part_svc,@u_acct_svcparts); foreach $u_part_svc ( qsearch('part_svc',{'svcdb'=>'svc_acct'}) ) { @@ -98,15 +95,7 @@ if ($pkgnum) { } } -} 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"; } @@ -115,6 +104,7 @@ my($srcsvc,$dstsvc,$dst)=( $svc_forward->dstsvc, $svc_forward->dst, ); +my $src = $svc_forward->dbdef_table->column('src') ? $svc_forward->src : ''; #display @@ -130,46 +120,54 @@ my($srcsvc,$dstsvc,$dst)=( Service #<%= $svcnum ? "$svcnum" : " (NEW)" %>
Service: <%= $part_svc->svc %>

-
+ + + + + + <%= ntable("#cccccc",2) %> -Email to <% foreach $_ (keys %email) { %> VALUE="<%= $_ %>"><%= $email{$_} %> <% } %> - - -<% - tie my %tied_email, 'Tie::IxHash', - '' => 'SELECT DESTINATION', - %email, - '0' => '(other email address)'; - my $widget = new HTML::Widgets::SelectLayers( - 'selected_layer' => $dstsvc, - 'options' => \%tied_email, - 'form_name' => 'dummy', - 'form_action' => 'process/svc_forward.cgi', - 'form_select' => ['srcsvc'], - 'html_between' => '', - 'layer_callback' => sub { - my $layer = shift; - my $html = qq!!. - qq!!. - qq!!. - qq!!; - if ( $layer eq '0' ) { - $html .= ntable("#cccccc",2). - 'Destination email'. - qq!!. - ''; - } - $html .= '
'; - $html; - }, - ); -%> +<% if ( $svc_forward->dbdef_table->column('src') ) { %> + +<% } %> + +<% if ( $svc_forward->dbdef_table->column('src') ) { %> +> +<% } %> + Forwards to -<%= $widget->html %> + +> + + +
+ -- cgit v1.2.1 From 8d581f6199c27147f417f73cc9f58260efabf327 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 26 Feb 2004 04:01:30 +0000 Subject: double quotes are not ASP --- httemplate/edit/svc_forward.cgi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'httemplate/edit/svc_forward.cgi') diff --git a/httemplate/edit/svc_forward.cgi b/httemplate/edit/svc_forward.cgi index c323fa29e..2e6c5f1a0 100755 --- a/httemplate/edit/svc_forward.cgi +++ b/httemplate/edit/svc_forward.cgi @@ -121,9 +121,9 @@ Service #<%= $svcnum ? "$svcnum" : " (NEW)" %>
Service: <%= $part_svc->svc %>

- - - + + + @@ -153,7 +157,7 @@ function dstchanged(what) { <% } %> <% if ( $svc_forward->dbdef_table->column('src') ) { %> -> +> <% } %> @@ -164,7 +168,7 @@ function dstchanged(what) { <% } %> -> +>
-- cgit v1.2.1