Author: jaz
Date: Thu Oct 21 16:24:37 2010
New Revision: 1026055
URL: http://svn.apache.org/viewvc?rev=1026055&view=rev
Log:
validatePaymentMethods() now applies the proper rounding to both selected and
required amounts to avoid false failures due to rounding
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java?rev=1026055&r1=1026054&r2=1026055&view=diff
==============================================================================
---
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java
(original)
+++
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/CheckOutHelper.java
Thu Oct 21 16:24:37 2010
@@ -1546,9 +1546,11 @@ public class CheckOutHelper {
// verify the selected payment method amounts will cover the total
BigDecimal reqAmtPreParse =
cart.getGrandTotal().subtract(cart.getBillingAccountAmount());
- BigDecimal selectedPaymentTotal = cart.getPaymentTotal();
+ BigDecimal selectedPmnt = cart.getPaymentTotal();
+ BigDecimal selectedPaymentTotal = selectedPmnt.setScale(scale,
rounding);
BigDecimal requiredAmount = reqAmtPreParse.setScale(scale, rounding);
+
if (UtilValidate.isNotEmpty(paymentMethods) &&
requiredAmount.compareTo(selectedPaymentTotal) > 0) {
Debug.logError("Required Amount : " + requiredAmount + " /
Selected Amount : " + selectedPaymentTotal, module);
errMsg = UtilProperties.getMessage(resource_error,
"checkevents.payment_not_cover_this_order", (cart != null ? cart.getLocale() :
Locale.getDefault()));