From d8516bcfd82f3d2e7b61bf2739f253eece5a3b6a Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Fri, 13 Jun 2014 12:47:54 +0200 Subject: [PATCH] [IMP] website_sale: optional quantity in product form --- .../static/src/js/website_sale.js | 7 +++-- addons/website_sale/views/templates.xml | 26 ++++++++++++++++--- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/addons/website_sale/static/src/js/website_sale.js b/addons/website_sale/static/src/js/website_sale.js index 995c921bd4f..f624eed5f50 100644 --- a/addons/website_sale/static/src/js/website_sale.js +++ b/addons/website_sale/static/src/js/website_sale.js @@ -38,8 +38,11 @@ $(document).ready(function () { ev.preventDefault(); var $link = $(ev.currentTarget); var $input = $link.parent().parent().find("input"); + var min = parseFloat($input.data("min") || 0); + var max = parseFloat($input.data("max") || Infinity); var quantity = ($link.has(".fa-minus").length ? -1 : 1) + parseFloat($input.val(),10); - $input.val(quantity > 0 ? quantity : 0); + $input.val(quantity > min ? (quantity < max ? quantity : max) : min); + $('input[name="'+$input.attr("name")+'"]').val(quantity > min ? (quantity < max ? quantity : max) : min); $input.change(); return false; }); @@ -134,7 +137,7 @@ $(document).ready(function () { event.preventDefault(); var $link = $(this); var $form = $link.parents("form:first"); - var quantity = parseInt($('input[name="add_qty"]').val() || 1, 10); + var quantity = parseInt($('input[name="add_qty"]:last').val() || 1, 10); var defs = []; $link.attr('disabled', 'disabled'); $('.js_product', $form).each(function () { diff --git a/addons/website_sale/views/templates.xml b/addons/website_sale/views/templates.xml index 4a1a2f4c649..d21feefc9c7 100644 --- a/addons/website_sale/views/templates.xml +++ b/addons/website_sale/views/templates.xml @@ -533,12 +533,14 @@ -