removed <!-- $Id$ --> from all files to fix any redirects, whew
[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 &eidiot(qq!This account has already been audited.  Cancel the 
15     <A HREF="!. popurl(2). qq!view/cust_pkg.cgi?! . $cust_svc->getfield('pkgnum') .
16     qq!pkgnum"> package</A> instead.!) 
17   if $cust_svc->pkgnum ne '' && $cust_svc->pkgnum ne '0';
18
19 local $SIG{HUP} = 'IGNORE';
20 local $SIG{INT} = 'IGNORE';
21 local $SIG{QUIT} = 'IGNORE';
22 local $SIG{TERM} = 'IGNORE';
23 local $SIG{TSTP} = 'IGNORE';
24
25 local $FS::UID::AutoCommit = 0;
26
27 my $error = $svc_acct->cancel;
28 &myeidiot($error) if $error;
29 $error = $svc_acct->delete;
30 &myeidiot($error) if $error;
31
32 $error = $cust_svc->delete;
33 &myeidiot($error) if $error;
34
35 $dbh->commit or die $dbh->errstr;
36
37 print $cgi->redirect(popurl(2));
38
39 sub myeidiot {
40   $dbh->rollback;
41   &eidiot(@_);
42 }
43
44 %>