X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fprocess%2Fcancel_pkg.html;h=c7a43979dbc6471e7f35337a7b5c6e71ec15d306;hb=22013d43001ca65572904a5a1484f6906727d430;hp=bc3a8cd3f4e2e8083e5fd6fae15f0f2589a6fe19;hpb=6aa1a0eeb1c28caf6af94a1323f69f3bb4256302;p=freeside.git diff --git a/httemplate/misc/process/cancel_pkg.html b/httemplate/misc/process/cancel_pkg.html index bc3a8cd3f..c7a43979d 100755 --- a/httemplate/misc/process/cancel_pkg.html +++ b/httemplate/misc/process/cancel_pkg.html @@ -52,25 +52,25 @@ if ($method eq 'expire' || $method eq 'adjourn' || $method eq 'resume') { $method = 'unsuspend' if $method eq 'resume'; } -my $resume_date; +my $resume_date = ''; +my $options = ''; if ( $method eq 'suspend' ) { #or 'adjourn' $resume_date = parse_datetime($cgi->param('resume_date')) if $cgi->param('resume_date'); + + $options = { map { $_ => scalar($cgi->param($_)) } + qw( suspend_bill no_suspend_bill ) + }; } my $cust_pkg = qsearchs( 'cust_pkg', {'pkgnum'=>$pkgnum} ); -#untaint reasonnum -my $reasonnum = $cgi->param('reasonnum'); -if ( $method !~ /^(unsuspend|uncancel)$/ ) { - $reasonnum =~ /^(-?\d+)$/ or die "Illegal reasonnum"; - $reasonnum = $1; - - if ($reasonnum == -1) { - $reasonnum = { - 'typenum' => scalar( $cgi->param('newreasonnumT') ), - 'reason' => scalar( $cgi->param('newreasonnum' ) ), - }; +#untaint reasonnum, and set up new reason if appropriate +my ($reasonnum, $error); +if ($method ne 'unsuspend' and $method ne 'uncancel') { + ($reasonnum, $error) = $m->comp('elements/reason'); + if (!$reasonnum) { + $error ||= 'Reason required'; } } @@ -80,11 +80,15 @@ my $last_bill = my $bill = $cgi->param('bill') ? parse_datetime($cgi->param('bill')) : ''; -my $error = $cust_pkg->$method( 'reason' => $reasonnum, +my $svc_fatal = ( $cgi->param('svc_not_fatal') ne 'Y' ); + +$error ||= $cust_pkg->$method( 'reason' => $reasonnum, 'date' => $date, 'resume_date' => $resume_date, 'last_bill' => $last_bill, 'bill' => $bill, + 'svc_fatal' => $svc_fatal, + 'options' => $options, ); if ($error) {