Author: jleroux
Date: Mon Jan 24 11:24:26 2011 New Revision: 1062733 URL: http://svn.apache.org/viewvc?rev=1062733&view=rev Log: A patch from Leon "Desired Delivery Date and comment are lost when selecting a variant product into shopping cart" (https://issues.apache.org/jira/browse/OFBIZ-4133) - OFBIZ-4133 From "ordermgr/control/additem/product" page, if you try to select a "virtual" product into shopping cart with some comments or "desired delivery date" input, you'll be redirect to varaints selection page. After you select neccessary features and submit, the variant product appears in shopping cart item list, but the comments and "desired delivery date" you input ealier is lost. 1. add some hidden fields to store the values from previous "additem" form 2. add paramMap to request attributes in case those values were lost again if an error occurs Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartEvents.java ofbiz/trunk/applications/order/webapp/ordermgr/entry/catalog/productdetail.ftl Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartEvents.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartEvents.java?rev=1062733&r1=1062732&r2=1062733&view=diff ============================================================================== --- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartEvents.java (original) +++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartEvents.java Mon Jan 24 11:24:26 2011 @@ -264,6 +264,7 @@ public class ShoppingCartEvents { // check if features are selected if (UtilValidate.isEmpty(selectedFeatures)) { + request.setAttribute("paramMap", paramMap); request.setAttribute("product_id", productId); request.setAttribute("_EVENT_MESSAGE_", UtilProperties.getMessage(resource_error, "cart.addToCart.chooseVariationBeforeAddingToCart", locale)); return "product"; @@ -273,12 +274,14 @@ public class ShoppingCartEvents { if (UtilValidate.isNotEmpty(variantProductId)) { productId = variantProductId; } else { + request.setAttribute("paramMap", paramMap); request.setAttribute("product_id", productId); request.setAttribute("_EVENT_MESSAGE_", UtilProperties.getMessage(resource_error, "cart.addToCart.incompatibilityVariantFeature", locale)); return "product"; } } else { + request.setAttribute("paramMap", paramMap); request.setAttribute("product_id", productId); request.setAttribute("_EVENT_MESSAGE_", UtilProperties.getMessage(resource_error, "cart.addToCart.chooseVariationBeforeAddingToCart", locale)); return "product"; Modified: ofbiz/trunk/applications/order/webapp/ordermgr/entry/catalog/productdetail.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/webapp/ordermgr/entry/catalog/productdetail.ftl?rev=1062733&r1=1062732&r2=1062733&view=diff ============================================================================== --- ofbiz/trunk/applications/order/webapp/ordermgr/entry/catalog/productdetail.ftl (original) +++ ofbiz/trunk/applications/order/webapp/ordermgr/entry/catalog/productdetail.ftl Mon Jan 24 11:24:26 2011 @@ -433,6 +433,12 @@ ${virtualJavaScript?if_exists} </#if> <form method="post" action="<@ofbizUrl>additem<#if requestAttributes._CURRENT_VIEW_?exists>/${requestAttributes._CURRENT_VIEW_}</#if></@ofbizUrl>" name="addform" style="margin: 0;"> + <#if requestAttributes.paramMap?has_content> + <input type="hidden" name="itemComment" value="${requestAttributes.paramMap.itemComment?if_exists}" /> + <input type="hidden" name="shipBeforeDate" value="${requestAttributes.paramMap.shipBeforeDate?if_exists}" /> + <input type="hidden" name="shipAfterDate" value="${requestAttributes.paramMap.shipAfterDate?if_exists}" /> + <input type="hidden" name="itemDesiredDeliveryDate" value="${requestAttributes.paramMap.itemDesiredDeliveryDate?if_exists}" /> + </#if> <#assign inStock = true> <#-- Variant Selection --> <#if product.isVirtual?if_exists?upper_case == "Y"> |
Free forum by Nabble | Edit this page |