svn commit: r1848266 - in /ofbiz/ofbiz-framework/branches/release17.12: ./ applications/order/src/main/java/org/apache/ofbiz/order/shoppinglist/ShoppingListEvents.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1848266 - in /ofbiz/ofbiz-framework/branches/release17.12: ./ applications/order/src/main/java/org/apache/ofbiz/order/shoppinglist/ShoppingListEvents.java

jleroux@apache.org
Author: jleroux
Date: Thu Dec  6 07:50:22 2018
New Revision: 1848266

URL: http://svn.apache.org/viewvc?rev=1848266&view=rev
Log:
"Applied fix from trunk for revision: 1848263  "
------------------------------------------------------------------------
r1848263 | jleroux | 2018-12-06 08:24:13 +0100 (jeu. 06 déc. 2018) | 13 lignes

Fixed: Error on createShoppingListItem when adding item to cart as anonymous
(OFBIZ-5157)

It can be reproduced by setting the product_store field autoSaveCart to 'Y'
(In Store 9000 for the demo-data). Then the error occurs upon the first visit of
the ecommerce-site, provided the user is not logged in.

    First Visit: no userLogin
    OFBiz wants to autosave list
    saving list requires userLogin (forsecuritycheck)
    result: error

Thanks: Mirko Vogelsmeier for report, Benjamin Jugl for the fix
------------------------------------------------------------------------

Modified:
    ofbiz/ofbiz-framework/branches/release17.12/   (props changed)
    ofbiz/ofbiz-framework/branches/release17.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppinglist/ShoppingListEvents.java

Propchange: ofbiz/ofbiz-framework/branches/release17.12/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec  6 07:50:22 2018
@@ -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:1819499,1819598,1819800,1819805,1819811,1820038,1820262,1820374-1820375,1820441,1820457,1820644,1820658,1820790,1820823,1820949,1820966,1821012,1821036,1821112,1821115,1821144,1821186,1821219,1821226,1821230,1821386,1821613,1821628,1821965,1822125,1822310,1822377,1822383,1822393,1823467,1823562,1823876,1824314,1824316,1824732,1824803,1824847,1824855,1825192,1825211,1825216,1825233,1825450,1826374,1826502,1826592,1826671,1826674,1826805,1826938,1826997,1827439,1828255,1828316,1828346,1828424,1828512,1828514,1829690,1830936,1831074,1831078,1831234,1831608,1831831,1832577,1832662,1832756,1832800,1832944,1833173,1833211,1834181,1834191,1834736,1835235,1835887,1835891,1835953,1835964,1836144,1836871,1837857,1838032,1838256,1838381,1840189,1840199,1840828,1841657,1841662,1842372,1842921,1843225,1843893,1844943,1845418,1845420,1845466,1845544,1845552,1845558,1845933,1845995,1846097,1846107,1846214,1846594,1846632,1847398,1847478,1847670,1847715,1847890
+/ofbiz/ofbiz-framework/trunk:1819499,1819598,1819800,1819805,1819811,1820038,1820262,1820374-1820375,1820441,1820457,1820644,1820658,1820790,1820823,1820949,1820966,1821012,1821036,1821112,1821115,1821144,1821186,1821219,1821226,1821230,1821386,1821613,1821628,1821965,1822125,1822310,1822377,1822383,1822393,1823467,1823562,1823876,1824314,1824316,1824732,1824803,1824847,1824855,1825192,1825211,1825216,1825233,1825450,1826374,1826502,1826592,1826671,1826674,1826805,1826938,1826997,1827439,1828255,1828316,1828346,1828424,1828512,1828514,1829690,1830936,1831074,1831078,1831234,1831608,1831831,1832577,1832662,1832756,1832800,1832944,1833173,1833211,1834181,1834191,1834736,1835235,1835887,1835891,1835953,1835964,1836144,1836871,1837857,1838032,1838256,1838381,1840189,1840199,1840828,1841657,1841662,1842372,1842921,1843225,1843893,1844943,1845418,1845420,1845466,1845544,1845552,1845558,1845933,1845995,1846097,1846107,1846214,1846594,1846632,1847398,1847478,1847670,1847715,1847890,1848263

Modified: ofbiz/ofbiz-framework/branches/release17.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppinglist/ShoppingListEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/branches/release17.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppinglist/ShoppingListEvents.java?rev=1848266&r1=1848265&r2=1848266&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/branches/release17.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppinglist/ShoppingListEvents.java (original)
+++ ofbiz/ofbiz-framework/branches/release17.12/applications/order/src/main/java/org/apache/ofbiz/order/shoppinglist/ShoppingListEvents.java Thu Dec  6 07:50:22 2018
@@ -440,25 +440,24 @@ public class ShoppingListEvents {
         Delegator delegator = (Delegator) request.getAttribute("delegator");
         LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
         GenericValue productStore = ProductStoreWorker.getProductStore(request);
-
-        if (!ProductStoreWorker.autoSaveCart(productStore)) {
-            // if auto-save is disabled just return here
-            return "success";
-        }
-
         HttpSession session = request.getSession();
         ShoppingCart cart = ShoppingCartEvents.getCartObject(request);
 
-        // safety check for missing required parameter.
-        if (cart.getWebSiteId() == null) {
-            cart.setWebSiteId(WebSiteWorker.getWebSiteId(request));
-        }
-
         // locate the user's identity
         GenericValue userLogin = (GenericValue) session.getAttribute("userLogin");
         if (userLogin == null) {
             userLogin = (GenericValue) session.getAttribute("autoUserLogin");
         }
+        
+        if (!ProductStoreWorker.autoSaveCart(productStore) || userLogin == null) {
+            // if auto-save is disabled or there is still no userLogin just return here
+            return "success";
+        }
+
+        // safety check for missing required parameter.
+        if (cart.getWebSiteId() == null) {
+            cart.setWebSiteId(WebSiteWorker.getWebSiteId(request));
+        }
 
         // find the list ID
         String autoSaveListId = cart.getAutoSaveListId();
@@ -646,7 +645,7 @@ public class ShoppingListEvents {
         }
 
         // clear the auto-save info
-        if (ProductStoreWorker.autoSaveCart(delegator, productStoreId)) {
+        if (userLogin!= null && ProductStoreWorker.autoSaveCart(delegator, productStoreId)) {
             if (UtilValidate.isEmpty(autoSaveListId)) {
                 try {
                     Map<String, Object> listFields = UtilMisc.<String, Object>toMap("userLogin", userLogin, "productStoreId", productStoreId, "shoppingListTypeId", "SLT_SPEC_PURP", "listName", PERSISTANT_LIST_NAME);