From 421ebc45f1627f0854a6581aa64795ff3afa1ac4 Mon Sep 17 00:00:00 2001 From: "Thomas Lefebvre (thle)" Date: Thu, 6 Apr 2023 07:51:15 +0000 Subject: [PATCH] [FIX] website_sale: check selector before use it Steps to reproduce: - install website_sale; - with web editor add a language selector to the top bar menu; - go to the page '/shop/cart'; - click on the cart. Issue: A traceback appears. Cause: We use the property of a HTML element without checking its presence. opw-3246545 closes odoo/odoo#117966 X-original-commit: e6829c38ff3fc0139583be94bf6f86c9acaab8fa Signed-off-by: Antoine Vandevenne (anv) Signed-off-by: Lefebvre Thomas (thle) --- addons/website_sale/static/src/js/website_sale_cart.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/website_sale/static/src/js/website_sale_cart.js b/addons/website_sale/static/src/js/website_sale_cart.js index 29fbee587e0..e21344e54c7 100644 --- a/addons/website_sale/static/src/js/website_sale_cart.js +++ b/addons/website_sale/static/src/js/website_sale_cart.js @@ -139,7 +139,7 @@ publicWidget.registry.websiteSaleCartLink = publicWidget.Widget.extend({ if ('website_sale_cart_quantity' in sessionStorage) { this.cartQty = sessionStorage.getItem('website_sale_cart_quantity'); } - if (this.el.querySelector('.my_cart_quantity').innerText != this.cartQty) { + if (this.el.querySelector('.my_cart_quantity')?.innerText != this.cartQty) { return this._rpc({route: "/shop/cart/quantity"}).then((cartQty) => { this.cartQty = cartQty; sessionStorage.setItem('website_sale_cart_quantity', this.cartQty); @@ -150,7 +150,7 @@ publicWidget.registry.websiteSaleCartLink = publicWidget.Widget.extend({ * @private */ _updateCartQuantityText() { - if (this.cartQty !== undefined) { + if (this.cartQty !== undefined && this.el.querySelector('.my_cart_quantity')) { this.el.querySelector('.my_cart_quantity').innerText = this.cartQty; } }