add customer fields option with agent, display_custnum, status and name, RT#73721
[freeside.git] / FS / FS / cust_bill.pm
index 138d0fa..79dbbba 100644 (file)
@@ -228,8 +228,8 @@ sub void {
 
   unless (ref($reason) || !$reason) {
     $reason = FS::reason->new_or_existing(
-      'class'  => 'X',
-      'type'   => 'Void invoice',
+      'class'  => 'I',
+      'type'   => 'Invoice void',
       'reason' => $reason
     );
   }
@@ -1115,9 +1115,8 @@ sub queueable_email {
   my $self = qsearchs('cust_bill', { 'invnum' => $opt{invnum} } )
     or die "invalid invoice number: " . $opt{invnum};
 
-  if ( $opt{mode} ) {
-    $self->set('mode', $opt{mode});
-  }
+  $self->set('mode', $opt{mode})
+    if $opt{mode};
 
   my %args = map {$_ => $opt{$_}} 
              grep { $opt{$_} }
@@ -1258,6 +1257,10 @@ sub batch_invoice {
       batchnum => $bill_batch->batchnum,
       invnum   => $self->invnum,
   });
+  if ( $self->mode ) {
+    $opt->{mode} ||= $self->mode;
+    $opt->{mode} = $opt->{mode}->modenum if ref $opt->{mode};
+  }
   return $cust_bill_batch->insert($opt);
 }