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 <[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 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()); |
Free forum by Nabble | Edit this page |