diff options
author | ivan <ivan> | 1999-02-07 09:59:44 +0000 |
---|---|---|
committer | ivan <ivan> | 1999-02-07 09:59:44 +0000 |
commit | e0da34d97b1463b55a334e8dae10cd55796e2312 (patch) | |
tree | 5a329798830cd2e894abbf6e4ad28bad106dc4d5 /htdocs/edit/cust_pkg.cgi | |
parent | 899b323ee2feeaf78afdb40526eb75995fe72cad (diff) |
more mod_perl fixes, and bugfixes Peter Wemm sent via email
Diffstat (limited to 'htdocs/edit/cust_pkg.cgi')
-rwxr-xr-x | htdocs/edit/cust_pkg.cgi | 89 |
1 files changed, 44 insertions, 45 deletions
diff --git a/htdocs/edit/cust_pkg.cgi b/htdocs/edit/cust_pkg.cgi index ed42008..afe6f87 100755 --- a/htdocs/edit/cust_pkg.cgi +++ b/htdocs/edit/cust_pkg.cgi @@ -1,6 +1,6 @@ #!/usr/bin/perl -Tw # -# $Id: cust_pkg.cgi,v 1.4 1999-01-19 05:13:38 ivan Exp $ +# $Id: cust_pkg.cgi,v 1.5 1999-02-07 09:59:18 ivan Exp $ # # this is for changing packages around, not editing things within the package # @@ -25,7 +25,10 @@ # 98-jun-1 # # $Log: cust_pkg.cgi,v $ -# Revision 1.4 1999-01-19 05:13:38 ivan +# Revision 1.5 1999-02-07 09:59:18 ivan +# more mod_perl fixes, and bugfixes Peter Wemm sent via email +# +# Revision 1.4 1999/01/19 05:13:38 ivan # for mod_perl: no more top-level my() variables; use vars instead # also the last s/create/new/; # @@ -38,60 +41,62 @@ # use strict; -use vars qw( $cgi %pkg %comment $query $custnum $otaker $p1 @cust_pkg - $cust_main $agent $type_pkgs $count ); +use vars qw( $cgi %pkg %comment $custnum $p1 @cust_pkg + $cust_main $agent $type_pkgs $count %remove_pkg ); use CGI; use CGI::Carp qw(fatalsToBrowser); -use FS::UID qw(cgisuidsetup getotaker); +use FS::UID qw(cgisuidsetup); use FS::Record qw(qsearch qsearchs); use FS::CGI qw(header popurl); use FS::part_pkg; - -$cgi = new CGI; -&cgisuidsetup($cgi); +use FS::type_pkgs; foreach (qsearch('part_pkg', {})) { $pkg{ $_ -> getfield('pkgpart') } = $_->getfield('pkg'); $comment{ $_ -> getfield('pkgpart') } = $_->getfield('comment'); } -#untaint custnum - -($query) = $cgi->keywords; -$query =~ /^(\d+)$/; -$custnum = $1; +$cgi = new CGI; +&cgisuidsetup($cgi); -$otaker = &getotaker; +if ( $cgi->param('error') ) { + $custnum = $cgi->param('custnum'); + %remove_pkg = map { $_ => 1 } $cgi->param('remove_pkg'); +} else { + my($query) = $cgi->keywords; + $query =~ /^(\d+)$/; + $custnum = $1; + undef %remove_pkg; +} $p1 = popurl(1); -print $cgi->header( '-expires' => 'now' ), header("Add/Edit Packages", ''), <<END; - <FORM ACTION="${p1}process/cust_pkg.cgi" METHOD=POST> - <HR> -END +print $cgi->header( '-expires' => 'now' ), header("Add/Edit Packages", ''); + +print qq!<FONT SIZE="+1" COLOR="#ff0000">Error: !, $cgi->param('error'), + "</FONT>" + if $cgi->param('error'); -#custnum -print qq!<INPUT TYPE="hidden" NAME="new_custnum" VALUE="$custnum">!; +print qq!<FORM ACTION="${p1}process/cust_pkg.cgi" METHOD=POST>!; -#current packages (except cancelled packages) -@cust_pkg = grep ! $_->getfield('cancel'), - qsearch('cust_pkg',{'custnum'=>$custnum}); +print qq!<INPUT TYPE="hidden" NAME="custnum" VALUE="$custnum">!; + +#current packages +@cust_pkg = qsearch('cust_pkg',{ 'custnum' => $custnum, 'cancel' => '' } ); if (@cust_pkg) { print <<END; -<CENTER><FONT SIZE="+2">Current packages</FONT></CENTER> -These are packages the customer currently has. Select those packages you -wish to remove (if any).<BR><BR> +Current packages - select to remove (services are moved to a new package below) +<BR><BR> END my ($count) = 0 ; - print qq!<CENTER><TABLE>! ; + print qq!<TABLE>! ; foreach (@cust_pkg) { - print qq!<TR>! if ($count ==0) ; + print '<TR>' if $count == 0; my($pkgnum,$pkgpart)=( $_->getfield('pkgnum'), $_->getfield('pkgpart') ); - print qq!<TD><INPUT TYPE="checkbox" NAME="remove_pkg" VALUE="$pkgnum">!, - #qq!$pkgnum: $pkg{$pkgpart} - $comment{$pkgpart}</TD>\n!, - #now you've got to admit this bug was pretty cool - qq!$pkgnum: $pkg{$pkgpart} - $comment{$pkgpart}</TD>\n!; + print qq!<TD><INPUT TYPE="checkbox" NAME="remove_pkg" VALUE="$pkgnum"!; + print " CHECKED" if $remove_pkg{$pkgnum}; + print qq!>$pkgnum: $pkg{$pkgpart} - $comment{$pkgpart}</TD>\n!; $count ++ ; if ($count == 2) { @@ -99,28 +104,25 @@ END print qq!</TR>\n! ; } } - print qq!</TABLE></CENTER>! ; - - print "<HR>"; + print qq!</TABLE><BR><BR>!; } print <<END; -<CENTER><FONT SIZE="+2">New packages</FONT></CENTER> -These are packages the customer can purchase. Specify the quantity to add -of each package.<BR><BR> +Order new packages<BR><BR> END $cust_main = qsearchs('cust_main',{'custnum'=>$custnum}); $agent = qsearchs('agent',{'agentnum'=> $cust_main->agentnum }); $count = 0 ; -print qq!<CENTER><TABLE>! ; +print qq!<TABLE>! ; foreach $type_pkgs ( qsearch('type_pkgs',{'typenum'=> $agent->typenum }) ) { my($pkgpart)=$type_pkgs->pkgpart; print qq!<TR>! if ($count == 0) ; + my $value = $cgi->param("pkg$pkgpart") || 0; print <<END; <TD> - <INPUT TYPE="text" NAME="pkg$pkgpart" VALUE="0" SIZE="2" MAXLENGTH="2"> + <INPUT TYPE="text" NAME="pkg$pkgpart" VALUE="$value" SIZE="2" MAXLENGTH="2"> $pkgpart: $pkg{$pkgpart} - $comment{$pkgpart}</TD>\n END $count ++ ; @@ -130,13 +132,10 @@ END $count = 0 ; } } -print qq!</TABLE></CENTER>! ; - -#otaker -print qq!<INPUT TYPE="hidden" NAME="new_otaker" VALUE="$otaker">\n!; +print qq!</TABLE>! ; #submit -print qq!<P><CENTER><INPUT TYPE="submit" VALUE="Order"></CENTER>\n!; +print qq!<P><INPUT TYPE="submit" VALUE="Order">\n!; print <<END; </FORM> |