diff options
author | Ivan Kohler <ivan@freeside.biz> | 2012-06-04 15:29:18 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2012-06-04 15:29:18 -0700 |
commit | 17b4664d50ba04809cb8b68fa0f3b6146b0c8ff3 (patch) | |
tree | 30c13e0648b51046e3eda9c8f77a615f9e254654 /httemplate/misc/cust_main-unsuspend.cgi | |
parent | 93786ae8b97b3b11b11eff8ee5fdf78b6b53f26f (diff) |
suspend and unsuspend whole customer action, RT#17841
Diffstat (limited to 'httemplate/misc/cust_main-unsuspend.cgi')
-rwxr-xr-x | httemplate/misc/cust_main-unsuspend.cgi | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/httemplate/misc/cust_main-unsuspend.cgi b/httemplate/misc/cust_main-unsuspend.cgi new file mode 100755 index 000000000..eb4a2c8f8 --- /dev/null +++ b/httemplate/misc/cust_main-unsuspend.cgi @@ -0,0 +1,56 @@ +<& /elements/header-popup.html, mt("Customer unsuspended") &> + <SCRIPT TYPE="text/javascript"> + window.top.location.reload(); + </SCRIPT> + </BODY> +</HTML> +<%init> + +#false laziness w/cust_main-cancel.cgi + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Unsuspend customer'); + +my $custnum; +my $resume = ''; +if ( $cgi->param('custnum') =~ /^(\d+)$/ ) { + $custnum = $1; + $resume = $cgi->param('resume'); +} else { + my($query) = $cgi->keywords; + $query =~ /^(\d+)$/ || die "Illegal custnum"; + $custnum = $1; +} + +my $cust_main = qsearchs( { + 'table' => 'cust_main', + 'hashref' => { 'custnum' => $custnum }, + 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, +} ); + +my @errors; +if($cgi->param('now_or_later')) { + $resume = parse_datetime($resume); + if($resume) { + #warn "setting resume dates on custnum#$custnum\n"; + my @pkgs = $cust_main->suspended_pkgs; + @errors = grep {$_} map { $_->unsuspend( + 'date' => $resume, + ) } @pkgs; + } + else { + @errors = ("error parsing adjourn date: ".$cgi->param('adjourn')); + } +} +else { + warn "unsuspending $cust_main"; + @errors = $cust_main->unsuspend; +} +my $error = join(' / ', @errors) if scalar(@errors); + +if ( $error ) { + $cgi->param('error', $error); + print $cgi->redirect(popurl(1). "unsuspend_cust.html?". $cgi->query_string ); +} + +</%init> |