X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_event%2FAction.pm;h=c0c70b1c3d1f72bb81346a162953ee0530cc19a1;hb=389b6f1116c3309c2ee57a6c295ed1a793503095;hp=c41af2851a457fea2f990a76be1dcff1d9e3c441;hpb=aa8d3305bddaca26d9222ebfa48af191d28f8230;p=freeside.git diff --git a/FS/FS/part_event/Action.pm b/FS/FS/part_event/Action.pm index c41af2851..c0c70b1c3 100644 --- a/FS/FS/part_event/Action.pm +++ b/FS/FS/part_event/Action.pm @@ -51,9 +51,23 @@ sub eventtable_hashref { 'cust_bill' => 1, 'cust_pkg' => 1, 'cust_pay_batch' => 1, + 'svc_acct' => 1, }; } +=item event_stage + +Action classes may define an event_stage method to indicate a preference +for being run at a non-standard stage of the billing and collection process. + +This method may currently return "collect" (the default) or "pre-bill". + +=cut + +sub event_stage { + 'collect'; +} + =item option_fields Action classes may define an option_fields method to indicate that they @@ -178,6 +192,21 @@ sub cust_main { } +=item cust_pkg OBJECT + +Return the package object (L) associated with the provided +object. The object must be either a service (L) or a +package. + +=cut + +sub cust_pkg { + my( $self, $object ) = @_; + $object->isa('FS::cust_pkg') ? $object : + $object->isa('FS::svc_Common') ? $object->cust_svc->cust_pkg : + undef; +} + =item option_label OPTIONNAME Returns the label for the specified option name. @@ -204,6 +233,7 @@ Returns the option fields as an (ordered) hash reference. sub option_fields_hashref { my $self = shift; tie my %hash, 'Tie::IxHash', $self->option_fields; + \%hash; } =item option_fields_listref