fix up the info passing for optional packages
[freeside.git] / FS / FS / cust_main.pm
index e1fe4c6..1daf6ba 100644 (file)
@@ -2531,8 +2531,7 @@ sub realtime_bop {
     $payname =  "$payfirst $paylast";
   }
 
-  # invoicing_list_emailonly instead? push one?  which one?
-  my @invoicing_list = grep { $_ ne 'POST' } $self->invoicing_list;
+  my @invoicing_list = $self->invoicing_list_emailonly;
   if ( $conf->exists('emailinvoiceautoalways')
        || $conf->exists('emailinvoiceauto') && ! @invoicing_list
        || ( $conf->exists('emailinvoiceonly') && ! @invoicing_list ) ) {
@@ -2739,10 +2738,12 @@ sub realtime_bop {
        'payinfo'  => $payinfo,
        'paybatch' => $paybatch,
     } );
-    my $error = $cust_pay->insert;
+    my $error = $cust_pay->insert($options{'manual'} ? ( 'manual' => 1 ) : () );
     if ( $error ) {
       $cust_pay->invnum(''); #try again with no specific invnum
-      my $error2 = $cust_pay->insert;
+      my $error2 = $cust_pay->insert( $options{'manual'} ?
+                                      ( 'manual' => 1 ) : ()
+                                    );
       if ( $error2 ) {
         # gah, even with transactions.
         my $e = 'WARNING: Card/ACH debited but database not updated - '.
@@ -3019,8 +3020,7 @@ sub realtime_refund_bop {
     $payname =  "$payfirst $paylast";
   }
 
-  # invoicing_list_emailonly instead? push one?  which one?
-  my @invoicing_list = grep { $_ ne 'POST' } $self->invoicing_list;
+  my @invoicing_list = $self->invoicing_list_emailonly;
   if ( $conf->exists('emailinvoiceautoalways')
        || $conf->exists('emailinvoiceauto') && ! @invoicing_list
        || ( $conf->exists('emailinvoiceonly') && ! @invoicing_list ) ) {