my $svc_error = $svc_x->insert;
if ( $svc_error && $options{svc_fatal} ) {
$dbh->rollback if $oldAutoCommit;
- return $error;
+ return $svc_error;
+ } else {
+ my $cust_svc = qsearchs('cust_svc', { 'svcnum' => $svc_x->svcnum });
+ if ( $cust_svc ) {
+ my $cs_error = $cust_svc->delete;
+ if ( $cs_error ) {
+ $dbh->rollback if $oldAutoCommit;
+ return $cs_error;
+ }
+ }
}
push @svc_errors, $svc_error if $svc_error;
}
'format' => $date_format,
} &>
+ <& /elements/tr-checkbox.html,
+ 'label' => mt("Uncancel even if a service can't be re-provisioned"),
+ 'field' => 'svc_not_fatal',
+ 'value' => 'Y',
+ &>
+
% $date_init = 1;
% }
my $bill =
$cgi->param('bill') ? parse_datetime($cgi->param('bill')) : '';
+my $svc_fatal = ( $cgi->param('svc_not_fatal') ne 'Y' );
+
my $error = $cust_pkg->$method( 'reason' => $reasonnum,
'date' => $date,
'resume_date' => $resume_date,
'last_bill' => $last_bill,
'bill' => $bill,
+ 'svc_fatal' => $svc_fatal,
);
if ($error) {