summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2014-01-16 02:25:46 -0800
committerIvan Kohler <ivan@freeside.biz>2014-01-16 02:25:46 -0800
commitfc64d5ccf3b4e750edd6d489916c71377898cb48 (patch)
tree153ff4454950ea10487103f5d6d9520f4b6bd4fa /FS
parentc78fb6183630e524d5fbf587321f552a470afc02 (diff)
"Continue recurring billing while suspended" checkbox for event-triggered cancels in addition to manual ones, RT#26470"
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/part_event/Action/suspend.pm17
1 files changed, 12 insertions, 5 deletions
diff --git a/FS/FS/part_event/Action/suspend.pm b/FS/FS/part_event/Action/suspend.pm
index ea795748e..84a710158 100644
--- a/FS/FS/part_event/Action/suspend.pm
+++ b/FS/FS/part_event/Action/suspend.pm
@@ -7,10 +7,14 @@ sub description { 'Suspend all of this customer\'s packages'; }
sub option_fields {
(
- 'reasonnum' => { 'label' => 'Reason',
- 'type' => 'select-reason',
- 'reason_class' => 'S',
- },
+ 'reasonnum' => { 'label' => 'Reason',
+ 'type' => 'select-reason',
+ 'reason_class' => 'S',
+ },
+ 'suspend_bill' => { 'label' => 'Continue recurring billing while suspended',
+ 'type' => 'checkbox',
+ 'value' => 'Y',
+ },
);
}
@@ -21,7 +25,10 @@ sub do_action {
my $cust_main = $self->cust_main($cust_object);
- my @err = $cust_main->suspend( 'reason' => $self->option('reasonnum') );
+ my @err = $cust_main->suspend(
+ 'reason' => $self->option('reasonnum'),
+ 'options' => { 'suspend_bill' => $self->option('suspend_bill') },
+ );
die join(' / ', @err) if scalar(@err);