summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2016-07-22 11:45:54 -0700
committerMark Wells <mark@freeside.biz>2016-07-22 11:45:54 -0700
commitc8ea63ee0f94ff3d3ac3917e41b0e38fb53b3fd4 (patch)
treeb8d3bd474a900fa795f8477e98926b6b84029d0e /FS
parentecd90a9dae71b452430d23ae39c1fdb3863a876f (diff)
on 3.x, don't create a default cancel reason when an expire reason is missing, #71623
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/cust_main.pm10
-rw-r--r--FS/FS/cust_pkg.pm14
2 files changed, 12 insertions, 12 deletions
diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm
index e4fc3db34..8496684e3 100644
--- a/FS/FS/cust_main.pm
+++ b/FS/FS/cust_main.pm
@@ -2501,15 +2501,7 @@ sub cancel_pkgs {
$lopt{'reason_otaker'} = $cpr->otaker;
} else {
warn "no reason found when canceling package ".$_->pkgnum."\n";
- # we're not actually required to pass a reason to cust_pkg::cancel,
- # but if we're getting to this point, something has gone awry.
- $null_reason ||= FS::reason->new_or_existing(
- reason => 'unknown reason',
- type => 'Cancel Reason',
- class => 'C',
- );
- $lopt{'reason'} = $null_reason->reasonnum;
- $lopt{'reason_otaker'} = $FS::CurrentUser::CurrentUser->username;
+ $lopt{'reason'} = '';
}
}
my $error = $_->cancel(%lopt);
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index b5777027b..e0e710e6f 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -815,9 +815,13 @@ the date. You are PROBABLY looking to expire the account instead of using
this.
=item reason - can be set to a cancellation reason (see L<FS:reason>),
-either a reasonnum of an existing reason, or passing a hashref will create
-a new reason. The hashref should have the following keys: typenum - Reason
-type (see L<FS::reason_type>, reason - Text of the new reason.
+either a reasonnum of an existing reason, or a hashref to create
+a new reason. The hashref should have the following keys:
+typenum - Reason type (see L<FS::reason_type>
+reason - Text of the new reason.
+
+If this argument isn't given or is a false value, then the package will be
+canceled with no reason.
=item date - can be set to a unix style timestamp to specify when to
cancel (expire)
@@ -1078,6 +1082,10 @@ Cancels this package if its expire date has been reached.
=cut
+# XXX should look for an expire reason
+# but seems to be unused; this is now handled more holistically in
+# cust_main::Billing
+
sub cancel_if_expired {
my $self = shift;
my $time = shift || time;