From a8c51f52a9a13c13b17c00e8bd8bcbafd2bc6424 Mon Sep 17 00:00:00 2001 From: ivan Date: Tue, 22 Nov 2005 18:29:39 +0000 Subject: [PATCH] add backend-realtime config flag, should be more intuitive for guyananet --- FS/FS/Conf.pm | 7 +++++++ httemplate/edit/process/cust_main.cgi | 14 ++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 7fed1a49b..4090a9001 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -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.', diff --git a/httemplate/edit/process/cust_main.cgi b/httemplate/edit/process/cust_main.cgi index d77aa2fdd..acc1ca434 100755 --- a/httemplate/edit/process/cust_main.cgi +++ b/httemplate/edit/process/cust_main.cgi @@ -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 ) { -- 2.11.0