X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_event%2FAction%2Fsuspend.pm;h=84a710158fc7120c097068f37a772ac667d51139;hb=eb40f5598b09feb017c0fb290a53b04d82513d77;hp=ec440ffd22e44b0404f4844b06eea1cf930ea37e;hpb=5e05724a635a22776f1b973f5d7e77989da4e048;p=freeside.git diff --git a/FS/FS/part_event/Action/suspend.pm b/FS/FS/part_event/Action/suspend.pm index ec440ffd2..84a710158 100644 --- a/FS/FS/part_event/Action/suspend.pm +++ b/FS/FS/part_event/Action/suspend.pm @@ -3,29 +3,32 @@ package FS::part_event::Action::suspend; use strict; use base qw( FS::part_event::Action ); -sub description { - 'Suspend'; -} +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', + }, ); -}; - -sub default_weight { - 10; } +sub default_weight { 10; } + sub do_action { my( $self, $cust_object ) = @_; 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);