Author: jaz
Date: Thu Oct 21 16:24:37 2010
New Revision: 1026055
URL:
http://svn.apache.org/viewvc?rev=1026055&view=revLog:
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()));