Merge PR #2463 into 16.0

Signed-off-by tarteo
This commit is contained in:
OCA-git-bot
2023-06-07 14:12:54 +00:00
2 changed files with 24 additions and 3 deletions

View File

@@ -116,6 +116,12 @@ export class X2Many2DMatrixRenderer extends Component {
.reduce((aggr, y) => aggr + y);
}
_canAggregate() {
return ["integer", "float", "monetary"].includes(
this.list.fields[this.matrixFields.value].type
);
}
update(x, y, value) {
this.matrix[y][x].value = value;
const xFieldValue = this.columns[x].value;
@@ -127,10 +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];
}
return {
value: this.matrix[y][x].value,
...props,
...propsFromAttrs,
value: value,
update: (value) => this.update(x, y, value),
readonly: this.props.readonly,
record: record,
};
}
}

View File

@@ -30,7 +30,10 @@
t-props="getValueFieldProps(column.value, row.value)"
/>
</td>
<td t-if="props.showRowTotals" class="row-total">
<td
t-if="props.showRowTotals and _canAggregate()"
class="row-total"
>
<t
t-component="ValueFieldComponent"
readonly="true"
@@ -40,7 +43,7 @@
</tr>
</tbody>
<tfoot>
<tr t-if="props.showColumnTotals">
<tr t-if="props.showColumnTotals and _canAggregate()">
<th />
<th t-foreach="columns" t-as="column" t-key="column.value">
<t