This is an automated email from the ASF dual-hosted git repository.

jleroux pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-plugins.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 5366f7d  Improved: Can't enter decimals when ordering on ecommerce 
(OFBIZ-11899)
5366f7d is described below

commit 5366f7d85e126f065f6272fe57f4924e2f921011
Author: Jacques Le Roux <[email protected]>
AuthorDate: Sat Aug 8 16:58:51 2020 +0200

    Improved: Can't enter decimals when ordering on ecommerce (OFBIZ-11899)
    
    In stable demo, and R18 locally, you can order a half pizza, that's no 
longer
    possible in trunk demo.
    
    Moreover you can't use the Add button in trunk, And if you use the Config 
button
    then it orders. There must be a mix between the 2 buttons, maybe the reason
    why we can't no longer enter decimals in trunk...
    
    Suraj: Added a patch with some refactoring of js code and used form 
attribute to
    get quantity value for addform.
    This might work with the provided patch but I think a better solution could 
be
    through markup. Also, due to some time constraints, I was not able to dig 
deep
    into how it is working in another branch.
    
    It's a workaround that we can use to continue over OFBIZ-11916.
    But I don't like that we have both add_amount and quantity fields out of the
    addform form. Actually as I explained at 
https://markmail.org/message/lnz57yzj3uywcr2y
    I don't even understand how this is possible since the FTL source sounds 
correct...
    
    Thanks: Suraj for the temporary workaround
---
 ecommerce/template/catalog/ConfigProductDetail.ftl | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/ecommerce/template/catalog/ConfigProductDetail.ftl 
b/ecommerce/template/catalog/ConfigProductDetail.ftl
index 385d837..44427f8 100644
--- a/ecommerce/template/catalog/ConfigProductDetail.ftl
+++ b/ecommerce/template/catalog/ConfigProductDetail.ftl
@@ -47,9 +47,15 @@ ${virtualJavaScript!}
   }
 
   function addItem() {
-    document.configform.action = document.addform.action;
-    document.configform.quantity.value = document.addform.quantity.value;
-    document.configform.submit();
+    var addForm = jQuery('#addFormId');
+    var formData = addForm.serializeArray();
+    var quantity = formData.find(function(item){
+        return "quantity" == item.name;
+    })
+    var configForm = jQuery('#configFormId');
+    configForm.attr("action", addForm.attr("action"));
+    configForm.find("[name='quantity']").val(quantity.value);
+    configForm.submit();
   }
   function verifyConfig() {
     document.configform.submit();
@@ -304,7 +310,7 @@ ${virtualJavaScript!}
 
         <form method="post"
             action="<@ofbizUrl>additem<#if 
requestAttributes._CURRENT_VIEW_??>/${requestAttributes._CURRENT_VIEW_}</#if></@ofbizUrl>"
-            name="addform">
+            name="addform" id="addFormId">
         <#assign inStock = true>
         <#-- Variant Selection -->
         <#if product.isVirtual?? && "Y" == product.isVirtual?upper_case>
@@ -366,7 +372,7 @@ ${virtualJavaScript!}
             <div>[${uiLabelMap.EcommerceProductNotConfigured}]&nbsp;
               <input type="text" size="5" name="quantity" value="0" 
disabled="disabled"/></div>
           <#else>
-            <div class="input-group"><input type="text" size="5" 
name="quantity" value="1" class="form-control form-control-sm"/>
+            <div class="input-group"><input type="text" size="5" 
form="addFormId" name="quantity" value="1" class="form-control 
form-control-sm"/>
             <span class="input-group-button">
             <a href="javascript:addItem()" class="btn btn-outline-secondary 
btn-sm">
                   ${uiLabelMap.OrderAddToCart}

Reply via email to