projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
s/create/new/
[freeside.git]
/
htdocs
/
edit
/
cust_pkg.cgi
diff --git
a/htdocs/edit/cust_pkg.cgi
b/htdocs/edit/cust_pkg.cgi
index
ed42008
..
8906a94
100755
(executable)
--- a/
htdocs/edit/cust_pkg.cgi
+++ b/
htdocs/edit/cust_pkg.cgi
@@
-1,14
+1,12
@@
#!/usr/bin/perl -Tw
#
#!/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.
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
#
#
# 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
#
# started with /sales/add/cust_pkg.cgi, which added packages
# ivan@voicenet.com 97-jan-5, 97-mar-21
#
@@
-25,7
+23,13
@@
# 98-jun-1
#
# $Log: cust_pkg.cgi,v $
# 98-jun-1
#
# $Log: cust_pkg.cgi,v $
-# Revision 1.4 1999-01-19 05:13:38 ivan
+# 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/;
#
# for mod_perl: no more top-level my() variables; use vars instead
# also the last s/create/new/;
#
@@
-38,60
+42,62
@@
#
use strict;
#
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 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::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');
}
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);
$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;
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 ;
END
my ($count) = 0 ;
- print qq!<
CENTER><
TABLE>! ;
+ print qq!<TABLE>! ;
foreach (@cust_pkg) {
foreach (@cust_pkg) {
- print
qq!<TR>! if ($count ==0)
;
+ print
'<TR>' if $count == 0
;
my($pkgnum,$pkgpart)=( $_->getfield('pkgnum'), $_->getfield('pkgpart') );
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)
{
$count ++ ;
if ($count == 2)
{
@@
-99,28
+105,25
@@
END
print qq!</TR>\n! ;
}
}
print qq!</TR>\n! ;
}
}
- print qq!</TABLE></CENTER>! ;
-
- print "<HR>";
+ print qq!</TABLE><BR><BR>!;
}
print <<END;
}
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 ;
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) ;
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>
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 ++ ;
$pkgpart: $pkg{$pkgpart} - $comment{$pkgpart}</TD>\n
END
$count ++ ;
@@
-130,13
+133,10
@@
END
$count = 0 ;
}
}
$count = 0 ;
}
}
-print qq!</TABLE></CENTER>! ;
-
-#otaker
-print qq!<INPUT TYPE="hidden" NAME="new_otaker" VALUE="$otaker">\n!;
+print qq!</TABLE>! ;
#submit
#submit
-print qq!<P><
CENTER><INPUT TYPE="submit" VALUE="Order"></CENTER
>\n!;
+print qq!<P><
INPUT TYPE="submit" VALUE="Order"
>\n!;
print <<END;
</FORM>
print <<END;
</FORM>