X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=htdocs%2Fedit%2Fcust_pkg.cgi;h=8906a94414d24fa4ae4c4d627014c2f8d815ab84;hb=cbccf1d59c49b95ffc26703a4e251052c27ee63a;hp=d7f143db49a5c1ab1199b8c2da63c92cb6983e6c;hpb=d7ecd1d88c78927ce562a4f79995170c918eaa8b;p=freeside.git diff --git a/htdocs/edit/cust_pkg.cgi b/htdocs/edit/cust_pkg.cgi index d7f143db4..8906a9441 100755 --- a/htdocs/edit/cust_pkg.cgi +++ b/htdocs/edit/cust_pkg.cgi @@ -1,14 +1,12 @@ #!/usr/bin/perl -Tw # -# cust_pkg.cgi: Add/edit packages (output form) +# $Id: cust_pkg.cgi,v 1.6 1999-02-28 00:03:36 ivan Exp $ # # this is for changing packages around, not editing things within the package # # Usage: cust_pkg.cgi custnum # http://server.name/path/cust_pkg.cgi?custnum # -# Note: Should be run setuid freeside as user nobody -# # started with /sales/add/cust_pkg.cgi, which added packages # ivan@voicenet.com 97-jan-5, 97-mar-21 # @@ -23,66 +21,83 @@ # # fixed a pretty cool bug from above which caused a visual glitch ivan@sisd.com # 98-jun-1 +# +# $Log: cust_pkg.cgi,v $ +# Revision 1.6 1999-02-28 00:03:36 ivan +# removed misleading comments +# +# 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/; +# +# Revision 1.3 1999/01/18 09:41:28 ivan +# all $cgi->header calls now include ( '-expires' => 'now' ) for mod_perl +# (good idea anyway) +# +# Revision 1.2 1998/12/17 06:17:04 ivan +# fix double // in relative URLs, s/CGI::Base/CGI/; +# use strict; -use CGI::Base qw(:DEFAULT :CGI); # CGI module +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; +use FS::type_pkgs; -my($cgi) = new CGI::Base; -$cgi->get; -&cgisuidsetup($cgi); - -my(%pkg,%comment); foreach (qsearch('part_pkg', {})) { $pkg{ $_ -> getfield('pkgpart') } = $_->getfield('pkg'); $comment{ $_ -> getfield('pkgpart') } = $_->getfield('comment'); } -#untaint custnum -$QUERY_STRING =~ /^(\d+)$/; -my($custnum)=$1; +$cgi = new CGI; +&cgisuidsetup($cgi); -my($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; +} -SendHeaders(); -print < - - Add/Edit Packages - - -
-

Add/Edit Packages

-
-
-
-END +$p1 = popurl(1); +print $cgi->header( '-expires' => 'now' ), header("Add/Edit Packages", ''); -#custnum -print qq!!; +print qq!Error: !, $cgi->param('error'), + "" + if $cgi->param('error'); -#current packages (except cancelled packages) -my(@cust_pkg) = grep ! $_->getfield('cancel'), - qsearch('cust_pkg',{'custnum'=>$custnum}); +print qq!!; + +print qq!!; + +#current packages +@cust_pkg = qsearch('cust_pkg',{ 'custnum' => $custnum, 'cancel' => '' } ); if (@cust_pkg) { print <Current packages -These are packages the customer currently has. Select those packages you -wish to remove (if any).

+Current packages - select to remove (services are moved to a new package below) +

END my ($count) = 0 ; - print qq!
! ; + print qq!
! ; foreach (@cust_pkg) { - print qq!! if ($count ==0) ; + print '' if $count == 0; my($pkgnum,$pkgpart)=( $_->getfield('pkgnum'), $_->getfield('pkgpart') ); - print qq!\n!, - #now you've got to admit this bug was pretty cool - qq!$pkgnum: $pkg{$pkgpart} - $comment{$pkgpart}\n!; + print qq!\n!; $count ++ ; if ($count == 2) { @@ -90,29 +105,25 @@ END print qq!\n! ; } } - print qq!
!, - #qq!$pkgnum: $pkg{$pkgpart} - $comment{$pkgpart}$pkgnum: $pkg{$pkgpart} - $comment{$pkgpart}
! ; - - print "
"; + print qq!

!; } print <New packages -These are packages the customer can purchase. Specify the quantity to add -of each package.

+Order new packages

END -my($cust_main)=qsearchs('cust_main',{'custnum'=>$custnum}); -my($agent)=qsearchs('agent',{'agentnum'=> $cust_main->agentnum }); +$cust_main = qsearchs('cust_main',{'custnum'=>$custnum}); +$agent = qsearchs('agent',{'agentnum'=> $cust_main->agentnum }); -my($type_pkgs); -my ($count) = 0 ; -print qq!
! ; +$count = 0 ; +print qq!
! ; foreach $type_pkgs ( qsearch('type_pkgs',{'typenum'=> $agent->typenum }) ) { my($pkgpart)=$type_pkgs->pkgpart; print qq!! if ($count == 0) ; + my $value = $cgi->param("pkg$pkgpart") || 0; print < - + $pkgpart: $pkg{$pkgpart} - $comment{$pkgpart}\n END $count ++ ; @@ -122,13 +133,10 @@ END $count = 0 ; } } -print qq!
! ; - -#otaker -print qq!\n!; +print qq!! ; #submit -print qq!

\n!; +print qq!

\n!; print <