From baaaadd470d908eb210eeaae2d8d1e96a13e4582 Mon Sep 17 00:00:00 2001 From: "Laurent Stukkens (LTU)" Date: Tue, 17 Nov 2020 15:05:03 +0000 Subject: [PATCH] [FIX] website, website_sale: fix race condition on dynamic snippet Prior to this commit: A race condition could occur when dropping the dynamic product snippet creating a traceback "Cannot read property 'limit' of undefined". After this commit: Potential race condition has been removed from the code. closes odoo/odoo#61890 X-original-commit: de14be4986ef4a293b99523b7dc110be3b16b8ea Signed-off-by: Quentin Smetz (qsm) --- .../website/static/src/snippets/s_dynamic_snippet/options.js | 5 +++-- .../src/snippets/s_dynamic_snippet_products/options.js | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/addons/website/static/src/snippets/s_dynamic_snippet/options.js b/addons/website/static/src/snippets/s_dynamic_snippet/options.js index 1c41fcac7f5..75aa165a94e 100644 --- a/addons/website/static/src/snippets/s_dynamic_snippet/options.js +++ b/addons/website/static/src/snippets/s_dynamic_snippet/options.js @@ -62,8 +62,9 @@ const dynamicSnippetOptions = snippetOptions.SnippetOptionWidget.extend({ * @override * @private */ - _renderCustomXML: function (uiFragment) { - return Promise.all([this._renderDynamicFiltersSelector(uiFragment), this._renderDynamicFilterTemplatesSelector(uiFragment)]); + _renderCustomXML: async function (uiFragment) { + await this._renderDynamicFiltersSelector(uiFragment); + await this._renderDynamicFilterTemplatesSelector(uiFragment); }, /** * Renders the dynamic filter option selector content into the provided uiFragment. diff --git a/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/options.js b/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/options.js index 48ee387a1b4..54d818067f7 100644 --- a/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/options.js +++ b/addons/website_sale/static/src/snippets/s_dynamic_snippet_products/options.js @@ -68,8 +68,9 @@ const dynamicSnippetProductsOptions = s_dynamic_snippet_carousel_options.extend( * @override * @private */ - _renderCustomXML: function (uiFragment) { - return Promise.all([this._super.apply(this, arguments), this._renderProductCategorySelector(uiFragment)]); + _renderCustomXML: async function (uiFragment) { + await this._super.apply(this, arguments); + await this._renderProductCategorySelector(uiFragment); }, /** * Renders the product categories option selector content into the provided uiFragment.