X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fmisc%2Fbill.cgi;h=3c3c48c54e6983b55ab028860c8042fe684d723b;hb=9c7dee35f91a386fcce14cb6c3e9d23ba3eee8af;hp=43c7c576de4fddf66e1dc78f1d543667d48aad94;hpb=fbcb45dfe5a1bce7981fe4527176b9fdf2ec54b7;p=freeside.git diff --git a/httemplate/misc/bill.cgi b/httemplate/misc/bill.cgi index 43c7c576d..3c3c48c54 100755 --- a/httemplate/misc/bill.cgi +++ b/httemplate/misc/bill.cgi @@ -1,41 +1,45 @@ -<% -# +%if ( $error ) { +% errorpage($error); +%} else { +<% $cgi->redirect(popurl(2). "view/cust_main.cgi?$custnum") %> +%} +<%init> -use strict; -use vars qw( $cgi $query $custnum $cust_main $error ); -use CGI; -use CGI::Carp qw(fatalsToBrowser); -use FS::UID qw(cgisuidsetup); -use FS::CGI qw(popurl eidiot); -use FS::Record qw(qsearchs); -use FS::cust_main; - -$cgi = new CGI; -&cgisuidsetup($cgi); +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Bill customer now'); #untaint custnum -($query) = $cgi->keywords; +my($query) = $cgi->keywords; $query =~ /^(\d*)$/; -$custnum = $1; -$cust_main = qsearchs('cust_main',{'custnum'=>$custnum}); +my $custnum = $1; +my $cust_main = qsearchs('cust_main',{'custnum'=>$custnum}); die "Can't find customer!\n" unless $cust_main; -$error = $cust_main->bill( +my $conf = new FS::Conf; + +my $error = $cust_main->bill( # 'time'=>$time ); -&eidiot($error) if $error; - -$cust_main->apply_payments; -$cust_main->apply_credits; - -$error = $cust_main->collect( -# 'invoice-time'=>$time, -# 'batch_card'=> 'yes', - 'batch_card'=> 'no', - 'report_badcard'=> 'yes', - ); -&eidiot($error) if $error; - -print $cgi->redirect(popurl(2). "view/cust_main.cgi?$custnum"); -%> +unless ( $error ) { + $error = $cust_main->apply_payments_and_credits + || $cust_main->collect( + #'invoice-time'=>$time, + #'batch_card'=> 'yes', + #'batch_card'=> 'no', + #'report_badcard'=> 'yes', + #'retry_card' => 'yes', + + 'retry' => 'yes', + + #this is used only by cust_main::batch_card + #need to pick & create an actual config + #value if we're going to turn this on + #("realtime-backend" doesn't exist, + # "backend-realtime" is for something + # entirely different) + #'realtime' => $conf->exists('realtime-backend'), + ); +} + +