diff options
| author | Christophe Simonis <chs@odoo.com> | 2017-11-30 10:55:32 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2017-11-30 10:55:32 +0100 |
| commit | 99f343c7b6a5696b74bbbcaaa3ecc3efb17b3f86 (patch) | |
| tree | 25311971f6e286ae92ec2c538188df3e0824f21e /addons | |
| parent | 2896193d45989a63fac024df7f7b2ba2ccb2c0f4 (diff) | |
| parent | 82bde85030b58959bba8efddb13746e5dc3e4601 (diff) | |
[MERGE] forward port branch 9.0 up to 82bde85030b
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/point_of_sale/static/src/js/models.js | 2 | ||||
| -rw-r--r-- | addons/website_sale/controllers/main.py | 5 | ||||
| -rw-r--r-- | addons/website_sale/models/sale_order.py | 11 | ||||
| -rw-r--r-- | addons/website_sale/static/src/js/website_sale.js | 9 | ||||
| -rw-r--r-- | addons/website_sale_options/controllers/main.py | 4 |
5 files changed, 24 insertions, 7 deletions
diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js index 19400b2fe93..c5cf1c77e5c 100644 --- a/addons/point_of_sale/static/src/js/models.js +++ b/addons/point_of_sale/static/src/js/models.js @@ -508,7 +508,7 @@ exports.PosModel = Backbone.Model.extend({ .then(function(){ load_model(index + 1); }, function(err){ loaded.reject(err); }); }catch(err){ - console.error(err.stack); + console.error(err.message, err.stack); loaded.reject(err); } },function(err){ diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index ab5f0021931..81053c2ac82 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -369,8 +369,8 @@ class WebsiteSale(http.Controller): def cart_update(self, product_id, add_qty=1, set_qty=0, **kw): request.website.sale_get_order(force_create=1)._cart_update( product_id=int(product_id), - add_qty=float(add_qty), - set_qty=float(set_qty), + add_qty=add_qty, + set_qty=set_qty, attributes=self._filter_attributes(**kw), ) return request.redirect("/shop/cart") @@ -384,7 +384,6 @@ class WebsiteSale(http.Controller): if order.state != 'draft': request.website.sale_reset() return {} - value = order._cart_update(product_id=product_id, line_id=line_id, add_qty=add_qty, set_qty=set_qty) if not order.cart_quantity: request.website.sale_reset() diff --git a/addons/website_sale/models/sale_order.py b/addons/website_sale/models/sale_order.py index ea8a1914e3d..83189c95c9b 100644 --- a/addons/website_sale/models/sale_order.py +++ b/addons/website_sale/models/sale_order.py @@ -113,6 +113,17 @@ class SaleOrder(models.Model): """ Add or set product quantity, add_qty can be negative """ self.ensure_one() SaleOrderLineSudo = self.env['sale.order.line'].sudo() + + try: + if add_qty: + add_qty = float(add_qty) + except ValueError: + add_qty = 1 + try: + if set_qty: + set_qty = float(set_qty) + except ValueError: + set_qty = 0 quantity = 0 order_line = False if self.state != 'draft': diff --git a/addons/website_sale/static/src/js/website_sale.js b/addons/website_sale/static/src/js/website_sale.js index 25e6cabb0a0..57a6beecca0 100644 --- a/addons/website_sale/static/src/js/website_sale.js +++ b/addons/website_sale/static/src/js/website_sale.js @@ -133,6 +133,9 @@ odoo.define('website_sale.website_sale', function (require) { return; } var value = parseInt($input.val() || 0, 10); + if (isNaN(value)) { + value = 1; + } var $dom = $(this).closest('tr'); //var default_price = parseFloat($dom.find('.text-danger > span.oe_currency_value').text()); var $dom_optional = $dom.nextUntil(':not(.optional_product.info)'); @@ -151,7 +154,11 @@ odoo.define('website_sale.website_sale', function (require) { 'set_qty': value }).then(function (data) { $input.data('update_change', false); - if (value !== parseInt($input.val() || 0, 10)) { + var check_value = parseInt($input.val() || 0, 10); + if (isNaN(check_value)) { + check_value = 1; + } + if (value !== check_value) { $input.trigger('change'); return; } diff --git a/addons/website_sale_options/controllers/main.py b/addons/website_sale_options/controllers/main.py index 4c9ba8e6502..1c84f9e460f 100644 --- a/addons/website_sale_options/controllers/main.py +++ b/addons/website_sale_options/controllers/main.py @@ -33,8 +33,8 @@ class WebsiteSaleOptions(WebsiteSale): if add_qty or set_qty: value = order._cart_update( product_id=int(product_id), - add_qty=int(add_qty), - set_qty=int(set_qty), + add_qty=add_qty, + set_qty=set_qty, attributes=attributes, optional_product_ids=optional_product_ids ) |
