From cb5ccb42ecca677861ba9633488a3ca04c593b49 Mon Sep 17 00:00:00 2001 From: DavidJForgeFlow Date: Fri, 16 May 2025 17:10:39 +0200 Subject: [PATCH] [FIX]: web_widget_x2many_2d_matrix: limit options values to x2many fields. --- .../x2many_2d_matrix_renderer.esm.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/web_widget_x2many_2d_matrix/static/src/components/x2many_2d_matrix_renderer/x2many_2d_matrix_renderer.esm.js b/web_widget_x2many_2d_matrix/static/src/components/x2many_2d_matrix_renderer/x2many_2d_matrix_renderer.esm.js index 2f4d1c06c500..77d8c635c3b7 100644 --- a/web_widget_x2many_2d_matrix/static/src/components/x2many_2d_matrix_renderer/x2many_2d_matrix_renderer.esm.js +++ b/web_widget_x2many_2d_matrix/static/src/components/x2many_2d_matrix_renderer/x2many_2d_matrix_renderer.esm.js @@ -144,6 +144,11 @@ export class X2Many2DMatrixRenderer extends Component { ); } + // More options can be included in the future, here are only added the ones tested initially. + _canOptions() { + return ["many2one"].includes(this.list.fields[this.matrixFields.value].type); + } + getValueFieldProps(column, row) { const x = this.columns.findIndex((c) => c.value === column); const y = this.rows.findIndex((r) => r.value === row); @@ -163,11 +168,13 @@ export class X2Many2DMatrixRenderer extends Component { readonly: this.props.readonly, record: record, name: this.matrixFields.value, - canCreate: this.props.canCreate, - canOpen: this.props.canOpen, - canWrite: this.props.canWrite, - canQuickCreate: this.props.canQuickCreate, - canCreateEdit: this.props.canCreateEdit, + ...(this._canOptions() && { + canCreate: this.props.canCreate, + canOpen: this.props.canOpen, + canWrite: this.props.canWrite, + canQuickCreate: this.props.canQuickCreate, + canCreateEdit: this.props.canCreateEdit, + }), }; const domain = record.fields[this.matrixFields.value].domain; if (domain) {