diff --git a/addons/website_sale/static/src/js/website_sale.editor.js b/addons/website_sale/static/src/js/website_sale.editor.js index 020f7c35507..dc17876942a 100644 --- a/addons/website_sale/static/src/js/website_sale.editor.js +++ b/addons/website_sale/static/src/js/website_sale.editor.js @@ -56,6 +56,7 @@ var options = require('web_editor.snippets.options'); var publicWidget = require('web.public.widget'); const Wysiwyg = require('web_editor.wysiwyg'); const {qweb, _t} = require('web.core'); +const {Markup} = require('web.utils'); Wysiwyg.include({ custom_events: Object.assign(Wysiwyg.prototype.custom_events, { @@ -79,7 +80,10 @@ Wysiwyg.include({ fields: ['id', 'html', 'bg_color', 'text_color', 'html_class'], }); } - this.ribbons = Object.fromEntries(ribbons.map(ribbon => [ribbon.id, ribbon])); + this.ribbons = Object.fromEntries(ribbons.map(ribbon => { + ribbon.html = Markup(ribbon.html); + return [ribbon.id, ribbon]; + })); this.originalRibbons = Object.assign({}, this.ribbons); this.productTemplatesRibbons = []; this.deletedRibbonClasses = ''; diff --git a/addons/website_sale/static/src/js/website_sale_video_field_preview.js b/addons/website_sale/static/src/js/website_sale_video_field_preview.js index bd40b3b993e..c9641c1bb5c 100644 --- a/addons/website_sale/static/src/js/website_sale_video_field_preview.js +++ b/addons/website_sale/static/src/js/website_sale_video_field_preview.js @@ -4,6 +4,7 @@ odoo.define('website_sale.video_field_preview', function (require) { var AbstractField = require('web.AbstractField'); var core = require('web.core'); +const {Markup} = require('web.utils'); var fieldRegistry = require('web.field_registry'); var QWeb = core.qweb; @@ -16,7 +17,7 @@ var FieldVideoPreview = AbstractField.extend({ _render: function () { this.$el.html(QWeb.render('productVideo', { - embedCode: this.value, + embedCode: Markup(this.value), })); }, }); diff --git a/addons/website_sale/static/src/snippets/s_products_searchbar/000.js b/addons/website_sale/static/src/snippets/s_products_searchbar/000.js index 2aaafca20b6..1cc3f00c217 100644 --- a/addons/website_sale/static/src/snippets/s_products_searchbar/000.js +++ b/addons/website_sale/static/src/snippets/s_products_searchbar/000.js @@ -5,6 +5,7 @@ const concurrency = require('web.concurrency'); const publicWidget = require('web.public.widget'); const { qweb } = require('web.core'); +const { Markup } = require('web.utils'); /** * @todo maybe the custom autocomplete logic could be extract to be reusable @@ -56,8 +57,8 @@ publicWidget.registry.productsSearchBar = publicWidget.Widget.extend({ /** * @private */ - _fetch: function () { - return this._rpc({ + async _fetch() { + const res = await this._rpc({ route: '/shop/products/autocomplete', params: { 'term': this.$input.val(), @@ -70,6 +71,10 @@ publicWidget.registry.productsSearchBar = publicWidget.Widget.extend({ }, }, }); + if (this.displayDescription) { + res.products.forEach(p => {p.description_sale = Markup(p.description_sale);}); + } + return res; }, /** * @private diff --git a/addons/website_sale/static/src/xml/website_sale.xml b/addons/website_sale/static/src/xml/website_sale.xml index 2b9e9e9a169..2c8fd7504b0 100644 --- a/addons/website_sale/static/src/xml/website_sale.xml +++ b/addons/website_sale/static/src/xml/website_sale.xml @@ -4,7 +4,7 @@
- +
diff --git a/addons/website_sale/static/src/xml/website_sale_utils.xml b/addons/website_sale/static/src/xml/website_sale_utils.xml index 9aaed80e1ea..bbc58a752bb 100644 --- a/addons/website_sale/static/src/xml/website_sale_utils.xml +++ b/addons/website_sale/static/src/xml/website_sale_utils.xml @@ -16,18 +16,18 @@
-
-

+

+

- +
- +
@@ -39,7 +39,7 @@ - +