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 <[email protected]>
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());