diff options
| author | jeff <jeff> | 2007-12-19 22:31:38 +0000 |
|---|---|---|
| committer | jeff <jeff> | 2007-12-19 22:31:38 +0000 |
| commit | 7b657e6cca6770039c52ca6bc43cd9a7b24072c8 (patch) | |
| tree | f6c213a4ff3ad68cfe56ddd2ec050c6b90327875 /httemplate/misc/cust_main-cancel.cgi | |
| parent | 659b8ab7217bacc2aab76689bd85f526530506d8 (diff) | |
backport reason selection for whole customer cancel (RT#2872)
Diffstat (limited to 'httemplate/misc/cust_main-cancel.cgi')
| -rwxr-xr-x | httemplate/misc/cust_main-cancel.cgi | 75 |
1 files changed, 53 insertions, 22 deletions
diff --git a/httemplate/misc/cust_main-cancel.cgi b/httemplate/misc/cust_main-cancel.cgi index 13d7d1ff1..7f6f69701 100755 --- a/httemplate/misc/cust_main-cancel.cgi +++ b/httemplate/misc/cust_main-cancel.cgi @@ -1,23 +1,54 @@ -% -% -%my $custnum; -%my $ban = ''; -%if ( $cgi->param('custnum') =~ /^(\d+)$/ ) { -% $custnum = $1; -% $ban = $cgi->param('ban'); -%} else { -% my($query) = $cgi->keywords; -% $query =~ /^(\d+)$/ || die "Illegal custnum"; -% $custnum = $1; -%} -% -%my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } ); -% -%my @errors = $cust_main->cancel( 'ban' => $ban ); -%errorpage(join(' / ', @errors)) if scalar(@errors); -% -%#print $cgi->redirect($p. "view/cust_main.cgi?". $cust_main->custnum); -%print $cgi->redirect($p); -% -% +<% header("Customer cancelled") %> + <SCRIPT TYPE="text/javascript"> + window.top.location.reload(); + </SCRIPT> + </BODY> +</HTML> +<%init> +my $custnum; +my $ban = ''; +if ( $cgi->param('custnum') =~ /^(\d+)$/ ) { + $custnum = $1; + $ban = $cgi->param('ban'); +} else { + my($query) = $cgi->keywords; + $query =~ /^(\d+)$/ || die "Illegal custnum"; + $custnum = $1; +} + +#false laziness w/process/cancel_pkg.html + +#untaint reasonnum +my $reasonnum = $cgi->param('reasonnum'); +$reasonnum =~ /^(-?\d+)$/ || die "Illegal reasonnum"; +$reasonnum = $1; + +if ($reasonnum == -1) { + $reasonnum = { + 'typenum' => scalar( $cgi->param('newreasonnumT') ), + 'reason' => scalar( $cgi->param('newreasonnum' ) ), + }; +} + +#eslaf + +my $cust_main = qsearchs( { + 'table' => 'cust_main', + 'hashref' => { 'custnum' => $custnum }, + 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, +} ); + +warn "cancelling $cust_main"; +my @errors = $cust_main->cancel( + 'ban' => $ban, + 'reason' => $reasonnum, +); +my $error = join(' / ', @errors) if scalar(@errors); + +if ( $error ) { + $cgi->param('error', $error); + print $cgi->redirect(popurl(1). "cancel_cust.html?". $cgi->query_string ); +} + +</%init> |
