summaryrefslogtreecommitdiff
path: root/httemplate/misc/process
diff options
context:
space:
mode:
authorivan <ivan>2007-08-01 22:26:52 +0000
committerivan <ivan>2007-08-01 22:26:52 +0000
commiteb4ff7f73c5d4bdf74a3472448b5a195598ff4cd (patch)
treebb38241e8c865c3bca861da7749071feeadd2b5b /httemplate/misc/process
parent32b5d3a31f112a381f0a15ac5e3a2204242f3405 (diff)
event refactor, landing on HEAD!
Diffstat (limited to 'httemplate/misc/process')
-rwxr-xr-xhttemplate/misc/process/cancel_pkg.html66
1 files changed, 28 insertions, 38 deletions
diff --git a/httemplate/misc/process/cancel_pkg.html b/httemplate/misc/process/cancel_pkg.html
index aa54218..805d1a7 100755
--- a/httemplate/misc/process/cancel_pkg.html
+++ b/httemplate/misc/process/cancel_pkg.html
@@ -1,4 +1,20 @@
+<% header("Package $past{$method}") %>
+ <SCRIPT TYPE="text/javascript">
+ window.top.location.reload();
+ </SCRIPT>
+ </BODY>
+</HTML>
+<%once>
+
+my %past = ( 'cancel' => 'cancelled',
+ 'expire' => 'expired',
+ 'suspend' => 'suspended',
+ 'adjourn' => 'adjourned',
+ );
+
+</%once>
<%init>
+
#untaint method
my $method = $cgi->param('method');
$method =~ /^(cancel|expire|suspend|adjourn)$/ || die "Illegal method";
@@ -24,56 +40,30 @@ if ($method eq 'expire' || $method eq 'adjourn'){
my $cust_pkg = qsearchs( 'cust_pkg', {'pkgnum'=>$pkgnum} );
-my $oldAutoCommit = $FS::UID::AutoCommit;
-local $FS::UID::AutoCommit = 0;
-my $dbh = dbh;
-
#my $otaker = $FS::CurrentUser::CurrentUser->name;
#$otaker = $FS::CurrentUser::CurrentUser->username
# if ($otaker eq "User, Legacy");
-my $error = '';
if ($reasonnum == -1) {
-
- $error = 'Enter a new reason (or select an existing one)'
- unless $cgi->param('newreasonnum') !~ /^\s*$/;
-
- my $reason = new FS::reason({ 'reason_type' => $cgi->param('newreasonnumT'),
- 'reason' => $cgi->param('newreasonnum'),
- });
- $error ||= $reason->insert;
- $reasonnum = $reason->reasonnum
- unless $error;
+ $reasonnum = {
+ 'typenum' => scalar( $cgi->param('newreasonnumT') ),
+ 'reason' => scalar( $cgi->param('newreasonnum' ) ),
+ };
}
-unless ($error) {
- if ($method eq 'expire' || $method eq 'adjourn'){
- my %hash = $cust_pkg->hash;
- $hash{$method}=$date;
- my $new = new FS::cust_pkg (\%hash);
- $error = $new->replace($cust_pkg, 'reason' => $reasonnum);
- }else{
- $error = $cust_pkg->$method( 'reason' => $reasonnum );
- }
+my $error;
+if ($method eq 'expire' || $method eq 'adjourn'){
+ my %hash = $cust_pkg->hash;
+ $hash{$method} = $date;
+ my $new = new FS::cust_pkg \%hash;
+ $error = $new->replace($cust_pkg, 'reason' => $reasonnum);
+} else {
+ $error = $cust_pkg->$method( 'reason' => $reasonnum );
}
if ($error) {
$cgi->param('error', $error);
- $dbh->rollback if $oldAutoCommit;
print $cgi->redirect(popurl(2). "cancel_pkg.html?". $cgi->query_string );
}
-$dbh->commit or die $dbh->errstr if $oldAutoCommit;
-
- my %past = ( 'cancel' => 'cancelled',
- 'expire' => 'expired',
- 'suspend' => 'suspended',
- 'adjourn' => 'adjourned',
- );
</%init>
-<% header("Package $past{$method}") %>
- <SCRIPT TYPE="text/javascript">
- window.top.location.reload();
- </SCRIPT>
- </BODY></HTML>
-