X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fpart_event%2FAction%2Fsuspend.pm;h=6a8483680c3c351bf969e2245c0d9ced2e236fde;hp=c77728e61a740034cbf6280280750640781d8b44;hb=ffc8927ad1df5a565256bdb47210006afa4b2f78;hpb=624b2d44625f69d71175c3348cae635d580c890b diff --git a/FS/FS/part_event/Action/suspend.pm b/FS/FS/part_event/Action/suspend.pm index c77728e61..6a8483680 100644 --- a/FS/FS/part_event/Action/suspend.pm +++ b/FS/FS/part_event/Action/suspend.pm @@ -3,14 +3,25 @@ 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', + }, + 'skip_future_startdate' => { + 'label' => "Don't suspend packages with a future start date", + 'type' => 'checkbox', + 'value' => 'Y', + }, ); } @@ -21,7 +32,12 @@ 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( + 'skip_future_startdate' => $self->option('skip_future_startdate'), + 'reason' => $self->option('reasonnum'), + 'options' => { 'suspend_bill' => $self->option('suspend_bill') + }, + ); die join(' / ', @err) if scalar(@err);