RT# 37817 - added a declaration to cust bill event actions that send out invoices
[freeside.git] / FS / FS / part_event / Action / cust_bill_send_reminder.pm
index 2ba8136..f3326d5 100644 (file)
@@ -5,15 +5,23 @@ use base qw( FS::part_event::Action );
 
 sub description { 'Send invoice (email/print/fax) reminder'; }
 
+## declaring that this action will send out an invoice
+sub will_send_invoice { 1; }
+
 sub eventtable_hashref {
   { 'cust_bill' => 1 };
 }
 
 sub option_fields {
   (
-    'notice_name'  => 'Reminder name',
-    #'notes' => { 'label' => 'Reminder notes' }, 
-    #include standard notes?  no/prepend/append
+    'modenum' => {  label => 'Invoice mode',
+                    type  => 'select-invoice_mode',
+                 },
+    # totally unnecessary, since the invoice mode can set notice_name and lpr,
+    # but for compatibility...
+    'notice_name' => 'Reminder name',
+    #'notes'      => { 'label' => 'Reminder notes' },  # invoice mode does this
+    'lpr'         => 'Optional alternate print command',
   );
 }
 
@@ -22,10 +30,11 @@ sub default_weight { 50; }
 sub do_action {
   my( $self, $cust_bill ) = @_;
 
-  #my $cust_main = $self->cust_main($cust_bill);
-  #my $cust_main = $cust_bill->cust_main;
-
-  $cust_bill->send({ 'notice_name' => $self->option('notice_name') });
+  $cust_bill->set('mode' => $self->option('modenum'));
+  $cust_bill->send({
+    'notice_name' => $self->option('notice_name'),
+    'lpr'         => $self->option('lpr'),
+  });
 }
 
 1;