add backend-realtime config flag, should be more intuitive for guyananet
authorivan <ivan>
Tue, 22 Nov 2005 18:29:39 +0000 (18:29 +0000)
committerivan <ivan>
Tue, 22 Nov 2005 18:29:39 +0000 (18:29 +0000)
FS/FS/Conf.pm
httemplate/edit/process/cust_main.cgi

index 7fed1a4..4090a90 100644 (file)
@@ -1202,6 +1202,13 @@ httemplate/docs/config.html
   },
 
   {
+    'key'         => 'backend-realtime',
+    'section'     => '',
+    'description' => 'Run billing for backend signups immediately.',
+    'type'        => 'checkbox',
+  },
+
+  {
     'key'         => 'declinetemplate',
     'section'     => 'billing',
     'description' => 'Template file for credit card decline emails.',
index d77aa2f..acc1ca4 100755 (executable)
@@ -123,7 +123,20 @@ if ( $new->custnum eq '' ) {
   tie my %hash, 'Tie::RefHash';
   %hash = ( $cust_pkg => [ $svc_acct ] ) if $cust_pkg;
   $error ||= $new->insert( \%hash, \@invoicing_list );
+
+  my $conf = new FS::Conf;
+  if ( $conf->exists('backend-realtime') && ! $error ) {
+
+    my $berror = $new->bill;
+    $new->apply_payments;
+    $new->apply_credits;
+    $berror ||= $new->collect;
+    warn "Warning, error billing during backend-realtime: $berror" if $berror;
+
+  }
+  
 } else { #create old record object
+
   my $old = qsearchs( 'cust_main', { 'custnum' => $new->custnum } ); 
   $error ||= "Old record not found!" unless $old;
   if ( defined dbdef->table('cust_main')->column('paycvv')
@@ -132,6 +145,7 @@ if ( $new->custnum eq '' ) {
     $new->paycvv($old->paycvv);
   }
   $error ||= $new->replace($old, \@invoicing_list);
+  
 }
 
 if ( $error ) {