[16.0][FIX] web_widget_x2many_2d_matrix: cells with no data error

pull/3048/head
docker-odoo 2023-12-28 16:56:16 +00:00 committed by Maksym Yankin
parent b2e15153a4
commit a2d1c81a38
1 changed files with 19 additions and 9 deletions

View File

@ -133,16 +133,22 @@ export class X2Many2DMatrixRenderer extends Component {
getValueFieldProps(column, row) {
const x = this.columns.findIndex((c) => c.value === column);
const y = this.rows.findIndex((r) => r.value === row);
const props = this.list.activeFields[this.matrixFields.value].props;
const propsFromAttrs =
this.list.activeFields[this.matrixFields.value].propsFromAttrs;
const record = this.matrix[y][x].records[0];
let value = this.matrix[y][x].value;
if (!this._canAggregate()) {
value = record.data[this.matrixFields.value];
const {props, propsFromAttrs} = this.list.activeFields[this.matrixFields.value];
let record = null;
let value = null;
if (
this.matrix[y] &&
this.matrix[y][x] &&
(record = this.matrix[y][x].records[0])
) {
record = this.matrix[y][x].records[0];
value = this.matrix[y][x].value;
}
return {
value =
!this._canAggregate() && record
? record.data[this.matrixFields.value]
: value;
const result = {
...props,
...propsFromAttrs,
value: value,
@ -151,6 +157,10 @@ export class X2Many2DMatrixRenderer extends Component {
record: record,
name: this.matrixFields.value,
};
if (value === null) {
result.readonly = true;
}
return result;
}
}