batch refactor continued
[freeside.git] / FS / FS / cust_bill_event.pm
index 128e5a5..4496bed 100644 (file)
@@ -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<retriable>, 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