X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fmisc%2Funprovision.cgi;h=6f2c23815f263f0778dbc7bce241c70d16c304d4;hp=b5e5106959bbcf103f2eb96c7fce50f76e0bac49;hb=79c8be3bd0c5db42794b36bf5b5dd25addba67cb;hpb=718f65eee1c797ea90a315b5f03fae75c80a5112 diff --git a/httemplate/misc/unprovision.cgi b/httemplate/misc/unprovision.cgi index b5e510695..6f2c23815 100755 --- a/httemplate/misc/unprovision.cgi +++ b/httemplate/misc/unprovision.cgi @@ -1,31 +1,38 @@ -% -% -%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; -% -%my $custnum = $cust_svc->cust_pkg->custnum; -% -%my $error = $cust_svc->cancel; -% %if ( $error ) { -% - - -% % errorpage($error); -%} else { -% print $cgi->redirect(popurl(2)."view/cust_main.cgi?$custnum"); +%} 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'); + +#untaint svcnum +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; + +} +