This is an automated email from the ASF dual-hosted git repository.
akashjain pushed a commit to branch release18.12 in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git The following commit(s) were added to refs/heads/release18.12 by this push: new 37b8e5b Fixed: Unnecessary ship groups in orders. (OFBIZ-10489) 37b8e5b is described below commit 37b8e5b0e89e5ce332bee396bc3ccb705e6875d2 Author: akash <[hidden email]> 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 4d38b32..e7e8c64 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()); |
Free forum by Nabble | Edit this page |