From 92b35ccd6d37e7ece81b51945dde0120aa13064c Mon Sep 17 00:00:00 2001 From: snt Date: Wed, 25 Feb 2026 17:17:06 +0100 Subject: [PATCH] =?UTF-8?q?[FIX]=20website=5Fsale=5Faplicoop:=20step=20de?= =?UTF-8?q?=20cantidad=20correcto=20tras=20filtrar=20categor=C3=ADa.=20El?= =?UTF-8?q?=20JS=20ahora=20usa=20data-quantity-step=20generado=20por=20bac?= =?UTF-8?q?kend,=20evitando=20sobrescribir=20el=20step=20correcto=20en=20i?= =?UTF-8?q?nputs=20de=20productos=20a=20peso/unidad.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/src/js/website_sale.js | 39 +++++++++---------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/website_sale_aplicoop/static/src/js/website_sale.js b/website_sale_aplicoop/static/src/js/website_sale.js index a02f2b7..65010d9 100644 --- a/website_sale_aplicoop/static/src/js/website_sale.js +++ b/website_sale_aplicoop/static/src/js/website_sale.js @@ -682,31 +682,30 @@ // First, adjust quantity steps for all existing inputs var unitInputs = document.querySelectorAll(".product-qty"); - console.log("=== ADJUSTING QUANTITY STEPS ==="); + console.log("=== ADJUSTING QUANTITY STEPS (from data-quantity-step) ==="); console.log("Found " + unitInputs.length + " quantity inputs"); for (var j = 0; j < unitInputs.length; j++) { var form = unitInputs[j].closest(".add-to-cart-form"); - var uomCategory = form.getAttribute("data-uom-category") || "Unit"; - - // If category is "Unit" (English) or "Units" (plural), use step=1 (no decimals) - // If other category (Weight, Volume, etc.), use step=0.1 (with decimals) + var step = form ? form.getAttribute("data-quantity-step") : null; + if (!step) step = "1"; + unitInputs[j].step = step; + unitInputs[j].min = step; + unitInputs[j].value = "1"; + // Para debug, también marcamos si es unidad o no + var uomCategory = form ? form.getAttribute("data-uom-category") : ""; var isUnitCategory = /^unit/i.test(uomCategory) || /^unidad/i.test(uomCategory); - - if (isUnitCategory) { - unitInputs[j].step = "1"; - unitInputs[j].min = "1"; - unitInputs[j].value = "1"; - unitInputs[j].dataset.isUnit = "true"; - console.log("Input #" + j + ': UoM="' + uomCategory + '" → step=1 (integer)'); - } else { - // Para peso, volumen, etc. - unitInputs[j].step = "0.1"; - unitInputs[j].min = "0.1"; - unitInputs[j].value = "1"; - unitInputs[j].dataset.isUnit = "false"; - console.log("Input #" + j + ': UoM="' + uomCategory + '" → step=0.1 (decimal)'); - } + unitInputs[j].dataset.isUnit = isUnitCategory ? "true" : "false"; + console.log( + "Input #" + + j + + ": step=" + + step + + ', UoM="' + + uomCategory + + '", isUnit=' + + unitInputs[j].dataset.isUnit + ); } console.log("=== END ADJUSTING QUANTITY STEPS ===");