X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fmisc%2Funprovision.cgi;h=6f2c23815f263f0778dbc7bce241c70d16c304d4;hp=8f2a7d13da0c009bac797bc0881e90e2cc6867f4;hb=79c8be3bd0c5db42794b36bf5b5dd25addba67cb;hpb=0ebeec96313dd7edfca340f01f8fbbbac1f4aa1d diff --git a/httemplate/misc/unprovision.cgi b/httemplate/misc/unprovision.cgi index 8f2a7d13d..6f2c23815 100755 --- a/httemplate/misc/unprovision.cgi +++ b/httemplate/misc/unprovision.cgi @@ -1,33 +1,38 @@ -<% +%if ( $error ) { +% errorpage($error); +%} elsif ( $pkgnum ) { +<% $cgi->redirect(popurl(2)."search/cust_pkg_svc.html?svcpart=$svcpart;pkgnum=$pkgnum") %> +%} else { # $custnum should always exist +<% $cgi->redirect(popurl(2)."view/cust_main.cgi?$custnum") %> +%} +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Unprovision customer service'); -my $dbh = dbh; - #untaint svcnum -my($query) = $cgi->keywords; -$query =~ /^(\d+)$/; -my $svcnum = $1; - -#my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$svcnum}); -#die "Unknown svcnum!" unless $svc_acct; - -my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum}); -die "Unknown svcnum!" unless $cust_svc; -#&eidiot(qq!This account has already been audited. Cancel the -# package instead.!) -# if $cust_svc->pkgnum ne '' && $cust_svc->pkgnum ne '0'; - -my $custnum = $cust_svc->cust_pkg->custnum; - -my $error = $cust_svc->cancel; - -if ( $error ) { - %> - -<% - &eidiot($error); -} else { - print $cgi->redirect(popurl(2)."view/cust_main.cgi?$custnum"); +my @svcnums; +my ($pkgnum, $svcpart, $custnum); +if( $cgi->param('svcnum') ) { + @svcnums = grep { $_ } map { /^(\d+)$/ && $1 } $cgi->param('svcnum'); + $pkgnum = $cgi->param('pkgnum'); + $svcpart = $cgi->param('svcpart'); + $custnum = $cgi->param('custnum'); +} +else { + @svcnums = map { /^(\d+)$/ && $1 } $cgi->keywords; +} + +my $error = ''; +foreach my $svcnum (@svcnums) { + + my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum}); + die "Unknown svcnum!" unless $cust_svc; + + $custnum ||= $cust_svc->cust_pkg->custnum; + + $error .= $cust_svc->cancel; + } -%> +