X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fmisc%2Fcancel-unaudited.cgi;h=5d3c8731617a39f19ec9de9787a4f68d795b70b4;hp=9b90967d9d938ae4a6e5f4443a88c39bd47c3ce6;hb=a4c96748eb6eab29a70f3a944c6520283a635c78;hpb=3d671921441ba8422650b54435a1959ad1d4c71d diff --git a/httemplate/misc/cancel-unaudited.cgi b/httemplate/misc/cancel-unaudited.cgi index 9b90967d9..5d3c87316 100755 --- a/httemplate/misc/cancel-unaudited.cgi +++ b/httemplate/misc/cancel-unaudited.cgi @@ -1,28 +1,16 @@ <% -# - -use strict; -use vars qw( $cgi $query $svcnum $svc_acct $cust_svc $error $dbh ); -use CGI; -use CGI::Carp qw(fatalsToBrowser); -use FS::UID qw(cgisuidsetup); -use FS::CGI qw(popurl eidiot); -use FS::Record qw(qsearchs); -use FS::cust_svc; -use FS::svc_acct; - -$cgi = new CGI; -$dbh = &cgisuidsetup($cgi); + +my $dbh = dbh; #untaint svcnum -($query) = $cgi->keywords; +my($query) = $cgi->keywords; $query =~ /^(\d+)$/; -$svcnum = $1; +my $svcnum = $1; -$svc_acct = qsearchs('svc_acct',{'svcnum'=>$svcnum}); +my $svc_acct = qsearchs('svc_acct',{'svcnum'=>$svcnum}); die "Unknown svcnum!" unless $svc_acct; -$cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum}); +my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$svcnum}); &eidiot(qq!This account has already been audited. Cancel the package instead.!) @@ -36,21 +24,24 @@ local $SIG{TSTP} = 'IGNORE'; local $FS::UID::AutoCommit = 0; -$error = $svc_acct->cancel; +my $error = $svc_acct->cancel; &myeidiot($error) if $error; $error = $svc_acct->delete; &myeidiot($error) if $error; $error = $cust_svc->delete; -&myeidiot($error) if $error; - -$dbh->commit or die $dbh->errstr; - -print $cgi->redirect(popurl(2)); -sub myeidiot { +if ( $error ) { $dbh->rollback; + %> + +<% &eidiot(@_); +} else { + + $dbh->commit or die $dbh->errstr; + + print $cgi->redirect(popurl(2)); } %>