[FIX] account: use currency to format tax
An error is thrown when trying to edit the tax in a vendor bill Steps to reproduce: 1. Install Accounting 2. Go to Accounting and create a new Vendor Bill 3. Add product 'Large Cabinet' to the bill 4. Click on the pencil icon next to the tax in the total amount 5. An error is thrown Solution: Partially revert the erroneous fix in TaxTotalsComponent by adding the currency getter. If there is no currency, floatFormat will fallback on a decimal precision of 2. Problem: https://github.com/odoo/odoo/pull/108412 removed `currency` from TaxTotalsComponent. This value was passed in the props of TaxGroupComponent so it was undefined. opw-3212170 closes odoo/odoo#114362 X-original-commit: 59a1d1f825cfbc1f720cccb80de212f6ee6d5404 Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
This commit is contained in:
@@ -4,6 +4,7 @@ import { formatFloat, formatMonetary } from "@web/views/fields/formatters";
|
||||
import { parseFloat } from "@web/views/fields/parsers";
|
||||
import { standardFieldProps } from "@web/views/fields/standard_field_props";
|
||||
import { registry } from "@web/core/registry";
|
||||
import { session } from "@web/session";
|
||||
|
||||
const { Component, onPatched, onWillUpdateProps, useRef, useState } = owl;
|
||||
|
||||
@@ -17,7 +18,7 @@ class TaxGroupComponent extends Component {
|
||||
onPatched(() => {
|
||||
if (this.state.value === "edit") {
|
||||
const { taxGroup, currency } = this.props;
|
||||
const newVal = formatFloat(taxGroup.tax_group_amount, { digits: currency.digits });
|
||||
const newVal = formatFloat(taxGroup.tax_group_amount, { digits: (currency && currency.digits) });
|
||||
this.inputTax.el.value = newVal;
|
||||
this.inputTax.el.focus(); // Focus the input
|
||||
}
|
||||
@@ -117,7 +118,12 @@ export class TaxTotalsComponent extends Component {
|
||||
}
|
||||
|
||||
get currencyId() {
|
||||
return this.props.record.data.currency_id;
|
||||
const recordCurrency = this.props.record.data.currency_id;
|
||||
return recordCurrency && recordCurrency[0];
|
||||
}
|
||||
|
||||
get currency() {
|
||||
return session.currencies[this.currencyId];
|
||||
}
|
||||
|
||||
invalidate() {
|
||||
|
||||
Reference in New Issue
Block a user