Author: hansbak
Date: Thu Sep 1 09:19:55 2011
New Revision: 1163959
URL:
http://svn.apache.org/viewvc?rev=1163959&view=revLog:
The auto-save list still has the last item even it's removed from cart. So when user login again, the cart is loaded from the auto-save list which is wrong. fixed with this change
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java
Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java?rev=1163959&r1=1163958&r2=1163959&view=diff==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppinglist/ShoppingListEvents.java Thu Sep 1 09:19:55 2011
@@ -406,11 +406,21 @@ public class ShoppingListEvents {
autoSaveListId = getAutoSaveListId(delegator, dispatcher, null, userLogin, cart.getProductStoreId());
cart.setAutoSaveListId(autoSaveListId);
}
+ GenericValue shoppingList = delegator.findByPrimaryKey("ShoppingList", UtilMisc.toMap("shoppingListId", autoSaveListId));
+ Integer currentListSize = 0;
+ if (UtilValidate.isNotEmpty(shoppingList)) {
+ List<GenericValue> shoppingListItems = shoppingList.getRelated("ShoppingListItem");
+ if (UtilValidate.isNotEmpty(shoppingListItems)) {
+ currentListSize = shoppingListItems.size();
+ }
+ }
try {
String[] itemsArray = makeCartItemsArray(cart);
if (itemsArray != null && itemsArray.length != 0) {
addBulkFromCart(delegator, dispatcher, cart, userLogin, autoSaveListId, null, itemsArray, false, false);
+ }else if(itemsArray.length == 0 && currentListSize != 0){
+ clearListInfo(delegator, autoSaveListId);
}
} catch (IllegalArgumentException e) {
throw new GeneralException(e.getMessage(), e);