From 30bfaa3a4e94ba36659270b0ed923ef04e8af0e1 Mon Sep 17 00:00:00 2001 From: Alexey Pelykh Date: Thu, 6 Dec 2018 14:25:47 +0200 Subject: [PATCH] [FIX] web_widget_x2many_2d_matrix: _renderBodyCell --- .../static/src/js/2d_matrix_renderer.js | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/web_widget_x2many_2d_matrix/static/src/js/2d_matrix_renderer.js b/web_widget_x2many_2d_matrix/static/src/js/2d_matrix_renderer.js index ac627e44c7c0..6a3db8a1840f 100644 --- a/web_widget_x2many_2d_matrix/static/src/js/2d_matrix_renderer.js +++ b/web_widget_x2many_2d_matrix/static/src/js/2d_matrix_renderer.js @@ -288,11 +288,24 @@ odoo.define('web_widget_x2many_2d_matrix.X2Many2dMatrixRenderer', function (requ } // Enforce mode of the parent options.mode = this.getParent().mode; - var widget = this._renderFieldWidget( - node, record, _.pick(options, 'mode') - ); - this._handleAttributes(widget.$el, node); - return $td.append(widget.$el); + if (node.tag === 'widget') { + return $td.append(this._renderWidget(record, node)); + } + if (node.attrs.widget || (options && options.renderWidgets)) { + var $el = this._renderFieldWidget(node, record, _.pick(options, 'mode')); + this._handleAttributes($el, node); + return $td.append($el); + } + var name = node.attrs.name; + var field = this.state.fields[name]; + var value = record.data[name]; + var formattedValue = field_utils.format[field.type](value, field, { + data: record.data, + escape: true, + isPassword: 'password' in node.attrs, + }); + this._handleAttributes($td, node); + return $td.html(formattedValue);(widget.$el); }, /**