Author: surajk
Date: Sat May 25 06:13:21 2019
New Revision: 1859910
URL: http://svn.apache.org/viewvc?rev=1859910&view=rev
Log:
Applied fix from trunk for revision: 1859909
===
Fixed: Drop-ship process behaves incorrectly when a combination of drop-ship
and non-drop-ship products are added into the cart.
(OFBIZ-11021)
RequirementMethodEnumId should be decided in the order of property set at
ProductStore -> Facility -> Product for each order item which was not working
if the non-drop shippable product(s) is added after the drop shippable
product(s).
Original Flow: requirementMethodEnumId was initialized outside the loop and
once it is initialized with Product level information it never gets
re-initialized if Product is non-drop shippable.
We have updated the code to use the storeRequirementMethodEnumId variable for
store level information which is defined outside the loop and this will be used
to initialize requirementMethodEnumId for each order item and then product
level information can override it. That means for each product ProductStore ->
Facility -> Product this rule will work properly.
Thanks Pawan Verma for reporting the issue and providing the patch and Jacques
Le Roux for review.
Modified:
ofbiz/ofbiz-framework/branches/release18.12/ (props changed)
ofbiz/ofbiz-framework/branches/release18.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java
Propchange: ofbiz/ofbiz-framework/branches/release18.12/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat May 25 06:13:21 2019
@@ -10,4 +10,4 @@
/ofbiz/branches/json-integration-refactoring:1634077-1635900
/ofbiz/branches/multitenant20100310:921280-927264
/ofbiz/branches/release13.07:1547657
-/ofbiz/ofbiz-framework/trunk:1849931,1850015,1850023,1850530,1850647,1850685,1850694,1850711,1850914,1850918,1850921,1850948,1850953,1851006,1851013,1851068,1851074,1851130,1851158,1851200,1851224,1851247,1851254,1851315,1851319,1851350,1851353,1851433,1851500,1851805,1851885,1851998,1852503,1852587,1852818,1852882,1853070,1853109,1853691,1853745,1853750,1854306,1854457,1854683,1855078,1855083,1855287,1855371,1855403,1855488,1855492,1855497,1855501,1855898,1856212,1856405,1856455,1856459-1856460,1856484,1856598,1856610,1856613,1856617,1856667,1857088,1857099,1857152,1857154,1857173,1857180,1857213,1857392,1857617,1857692,1857813,1858035,1858092,1858180,1858250,1858256,1858275,1858319,1858347,1858432,1858444,1858483,1858523,1858539,1858965,1858980,1859033,1859055,1859087,1859255,1859263,1859268,1859543,1859571,1859576,1859691,1859694,1859698,1859704,1859708,1859735,1859796,1859800,1859807,1859871,1859877,1859882
+/ofbiz/ofbiz-framework/trunk:1849931,1850015,1850023,1850530,1850647,1850685,1850694,1850711,1850914,1850918,1850921,1850948,1850953,1851006,1851013,1851068,1851074,1851130,1851158,1851200,1851224,1851247,1851254,1851315,1851319,1851350,1851353,1851433,1851500,1851805,1851885,1851998,1852503,1852587,1852818,1852882,1853070,1853109,1853691,1853745,1853750,1854306,1854457,1854683,1855078,1855083,1855287,1855371,1855403,1855488,1855492,1855497,1855501,1855898,1856212,1856405,1856455,1856459-1856460,1856484,1856598,1856610,1856613,1856617,1856667,1857088,1857099,1857152,1857154,1857173,1857180,1857213,1857392,1857617,1857692,1857813,1858035,1858092,1858180,1858250,1858256,1858275,1858319,1858347,1858432,1858444,1858483,1858523,1858539,1858965,1858980,1859033,1859055,1859087,1859255,1859263,1859268,1859543,1859571,1859576,1859691,1859694,1859698,1859704,1859708,1859735,1859796,1859800,1859807,1859871,1859877,1859882,1859909
Modified:
ofbiz/ofbiz-framework/branches/release18.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/branches/release18.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java?rev=1859910&r1=1859909&r2=1859910&view=diff
==============================================================================
---
ofbiz/ofbiz-framework/branches/release18.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java
(original)
+++
ofbiz/ofbiz-framework/branches/release18.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppingcart/ShoppingCart.java
Sat May 25 06:13:21 2019
@@ -4235,12 +4235,12 @@ public class ShoppingCart implements Ite
// Retrieve the facilityId from the cart's productStoreId because
ShoppingCart.setFacilityId() doesn't seem to be used anywhere
String facilityId = null;
- String requirementMethodEnumId = null;
+ String storeRequirementMethodEnumId = null;
if (UtilValidate.isNotEmpty(this.getProductStoreId())) {
try {
GenericValue productStore =
this.getDelegator().findOne("ProductStore", UtilMisc.toMap("productStoreId",
this.getProductStoreId()), true);
facilityId = productStore.getString("inventoryFacilityId");
- requirementMethodEnumId =
productStore.getString("requirementMethodEnumId");
+ storeRequirementMethodEnumId =
productStore.getString("requirementMethodEnumId");
} catch (GenericEntityException gee) {
Debug.logError(UtilProperties.getMessage(resource_error,"OrderProblemGettingProductStoreRecords",
locale) + gee.getMessage(), module);
return;
@@ -4288,7 +4288,9 @@ public class ShoppingCart implements Ite
Debug.logError("Error :" +e.getMessage(), module);
e.printStackTrace();
}
-
+
+ String requirementMethodEnumId = storeRequirementMethodEnumId;
+
if (productFacility != null &&
UtilValidate.isNotEmpty(productFacility.getString("requirementMethodEnumId"))){
requirementMethodEnumId =
productFacility.getString("requirementMethodEnumId");
}