[freeside-commits] freeside/httemplate/misc bill.cgi,1.12,1.13

Ivan,,, ivan at wavetail.420.am
Fri Jul 13 16:52:24 PDT 2007


Update of /home/cvs/cvsroot/freeside/httemplate/misc
In directory wavetail:/tmp/cvs-serv6052/httemplate/misc

Modified Files:
	bill.cgi 
Log Message:
fix race condition where ->apply_payments_and_credits could double-apply in rare cases

Index: bill.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/misc/bill.cgi,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- bill.cgi	21 Jan 2007 21:45:29 -0000	1.12
+++ bill.cgi	13 Jul 2007 23:52:22 -0000	1.13
@@ -14,17 +14,24 @@
 %#&eidiot($error) if $error;
 %
 %unless ( $error ) {
-%  $cust_main->apply_payments_and_credits;
+%  $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',
 %
-%  $error = $cust_main->collect(
-%  #                             'invoice-time'=>$time,
-%                               #'batch_card'=> 'yes',
-%                               #'batch_card'=> 'no',
-%                               #'report_badcard'=> 'yes',
-%                               #'retry_card' => 'yes',
-%                               'retry' => 'yes',
-%                               'realtime' => $conf->exists('realtime-backend'),
-%                              );
+%                                  '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'),
+%                                 );
 %}
 %#&eidiot($error) if $error;
 %
@@ -38,4 +45,3 @@
 %  print $cgi->redirect(popurl(2). "view/cust_main.cgi?$custnum");
 %}
 %
-



More information about the freeside-commits mailing list