hard things in programming: variable naming
[freeside.git] / FS / FS / cust_bill.pm
index 8c1f75c..600b0db 100644 (file)
@@ -1112,9 +1112,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{$_} }
@@ -1255,6 +1254,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);
 }