}
foreach my $supp_pkg ( $self->supplemental_pkgs ) {
- $error = $supp_pkg->cancel(%options, 'from_main' => 1);
+ if ($delay_cancel) {
+ $error = $supp_pkg->suspend(%options, 'from_main' => 1, 'reason' => undef);
+ } else {
+ $error = $supp_pkg->cancel(%options, 'from_main' => 1);
+ }
if ( $error ) {
$dbh->rollback if $oldAutoCommit;
return "canceling supplemental pkg#".$supp_pkg->pkgnum.": $error";
") must be an integer multiple of main package period.";
}
}
- if (( $src_pkg->option('delay_cancel',1) && !$dst_pkg->option('delay_cancel',1) ) ||
- ( $dst_pkg->option('delay_cancel',1) && !$src_pkg->option('delay_cancel',1) )
- ) {
- return "Supplemental package must have same value as main package for automatic suspension on cancel.";
- }
}
$self->SUPER::check;