bind export, editing zones, deleting unaudited domains, mmm
[freeside.git] / httemplate / misc / cancel-unaudited.cgi
1 <%
2
3 my $dbh = dbh;
4  
5 #untaint svcnum
6 my($query) = $cgi->keywords;
7 $query =~ /^(\d+)$/;
8 my $svcnum = $1;
9
10 #my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$svcnum});
11 #die "Unknown svcnum!" unless $svc_acct;
12
13 my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum});
14 die "Unknown svcnum!" unless $cust_svc;
15 &eidiot(qq!This account has already been audited.  Cancel the 
16     <A HREF="!. popurl(2). qq!view/cust_pkg.cgi?! . $cust_svc->getfield('pkgnum') .
17     qq!pkgnum"> package</A> instead.!) 
18   if $cust_svc->pkgnum ne '' && $cust_svc->pkgnum ne '0';
19
20 my $svc_x = $cust_svc->svc_x;
21
22 local $SIG{HUP} = 'IGNORE';
23 local $SIG{INT} = 'IGNORE';
24 local $SIG{QUIT} = 'IGNORE';
25 local $SIG{TERM} = 'IGNORE';
26 local $SIG{TSTP} = 'IGNORE';
27
28 local $FS::UID::AutoCommit = 0;
29
30 my $error = $svc_x->cancel;
31 $error ||= $svc_x->delete;
32 $error ||= $cust_svc->delete;
33
34 if ( $error ) {
35   $dbh->rollback;
36   %>
37 <!-- mason kludge -->
38 <%
39   &eidiot($error);
40 } else {
41
42   $dbh->commit or die $dbh->errstr;
43
44   print $cgi->redirect(popurl(2));
45 }
46
47 %>