You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ak...@apache.org on 2020/02/07 13:11:09 UTC
[ofbiz-framework] branch trunk updated: Fixed: Unnecessary ship
groups in orders. (OFBIZ-10489)
This is an automated email from the ASF dual-hosted git repository.
akashjain pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new 701ec7f Fixed: Unnecessary ship groups in orders. (OFBIZ-10489)
701ec7f is described below
commit 701ec7f3ea66e6e3cff50516a8a30897136a58a7
Author: akash <ak...@hotwaxsystems.com>
AuthorDate: Fri Feb 7 18:41:10 2020 +0530
Fixed: Unnecessary ship groups in orders.
(OFBIZ-10489)
Thanks, Oleg Andreyev and Mohammad Kathawala for your contribution.
---
.../order/shoppingcart/ShoppingCartHelper.java | 23 ++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java
index 1b13c84..0f2f9dd 100644
--- a/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java
+++ b/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCartHelper.java
@@ -856,7 +856,16 @@ public class ShoppingCartHelper {
BigDecimal minQuantity = ShoppingCart.getMinimumOrderQuantity(delegator, item.getBasePrice(), item.getProductId());
oldQuantity = item.getQuantity();
if (oldQuantity.compareTo(quantity) != 0) {
- cart.setShipmentMethodTypeId(index, null);
+ GenericValue product = item.getProduct();
+ //Reset shipment method information in cart only if shipping applies on product.
+ if (UtilValidate.isNotEmpty(product) && ProductWorker.shippingApplies(product)) {
+ for (int shipGroupIndex = 0; shipGroupIndex < cart.getShipGroupSize(); shipGroupIndex++) {
+ String shipContactMechId = cart.getShippingContactMechId(shipGroupIndex);
+ if (UtilValidate.isNotEmpty(shipContactMechId)) {
+ cart.setShipmentMethodTypeId(shipGroupIndex, null);
+ }
+ }
+ }
}
if (quantity.compareTo(minQuantity) < 0) {
quantity = minQuantity;
@@ -940,7 +949,17 @@ public class ShoppingCartHelper {
}
try {
this.cart.removeCartItem(itemIndex, dispatcher);
- cart.setShipmentMethodTypeId(itemIndex, null);
+ GenericValue product = item.getProduct();
+ //Reset shipment method information in cart only if shipping applies on product.
+ if (UtilValidate.isNotEmpty(product) && ProductWorker.shippingApplies(product)) {
+ for (int shipGroupIndex = 0; shipGroupIndex < cart.getShipGroupSize(); shipGroupIndex++) {
+ String shipContactMechId = cart.getShippingContactMechId(shipGroupIndex);
+ if (UtilValidate.isNotEmpty(shipContactMechId)) {
+ cart.setShipmentMethodTypeId(shipGroupIndex, null);
+ }
+ }
+ }
+
} catch (CartItemModifyException e) {
result = ServiceUtil.returnError(new ArrayList<String>());
errorMsgs.add(e.getMessage());