X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_bill_event.pm;h=4496bed655eb022c9fa616f2a65f1879229e792b;hb=dbb388836b7951a3db49deda05a1ff9ba5125c17;hp=128e5a53d2933adb40c1ff603bf6078bbffbd91c;hpb=08662d58e7b9a13cf841e9c89daa39b28655724e;p=freeside.git diff --git a/FS/FS/cust_bill_event.pm b/FS/FS/cust_bill_event.pm index 128e5a53d..4496bed65 100644 --- a/FS/FS/cust_bill_event.pm +++ b/FS/FS/cust_bill_event.pm @@ -126,12 +126,13 @@ sub check { || $self->ut_textn('statustext') ; + return "Unknown eventpart ". $self->eventpart + unless my $part_bill_event = + qsearchs( 'part_bill_event' ,{ 'eventpart' => $self->eventpart } ); + return "Unknown invnum ". $self->invnum unless qsearchs( 'cust_bill' ,{ 'invnum' => $self->invnum } ); - return "Unknown eventpart ". $self->eventpart - unless qsearchs( 'part_bill_event' ,{ 'eventpart' => $self->eventpart } ); - $self->SUPER::check; } @@ -173,6 +174,21 @@ sub retry { $self->replace($old); } +=item retryable + +Changes the statustext of this event to B, rendering it +retriable (should retry be called). + +=cut + +sub retriable { + my $self = shift; + return '' unless $self->status eq 'done'; + my $old = ref($self)->new( { $self->hash } ); + $self->statustext('retriable'); + $self->replace($old); +} + =back =head1 SUBROUTINES