From 5cb958cb932ef9582e9b0e542de280f2bf26197c Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Mon, 16 Feb 2015 15:30:37 -0600 Subject: [PATCH] RT#14671: Usage for current day when billing outstanding usage (for cancelling customers) [better supplemental package handling] --- FS/FS/cust_pkg.pm | 6 +++++- FS/FS/part_pkg_link.pm | 5 ----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm index 0cb620932..7678a0295 100644 --- a/FS/FS/cust_pkg.pm +++ b/FS/FS/cust_pkg.pm @@ -935,7 +935,11 @@ sub cancel { } 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"; diff --git a/FS/FS/part_pkg_link.pm b/FS/FS/part_pkg_link.pm index 2460e995d..aee0131d2 100644 --- a/FS/FS/part_pkg_link.pm +++ b/FS/FS/part_pkg_link.pm @@ -260,11 +260,6 @@ sub check { ") 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; -- 2.11.0