Ensure unique taxes when applying tax rule

Since issue10841 the taxes must be unique so the tax rule application must
result on unique taxes.

issue11230
review419361003
This commit is contained in:
Cédric Krier
2022-07-17 00:00:56 +02:00
parent 699fd4366b
commit 667d8bfcf2
+8 -8
View File
@@ -186,19 +186,19 @@ class Move(metaclass=PoolMeta):
line.stock_moves = [self]
line.origin = self
taxes = []
taxes = set()
pattern = self._get_tax_rule_pattern()
for tax in line.product.supplier_taxes_used:
if line.party.supplier_tax_rule:
tax_ids = line.party.supplier_tax_rule.apply(tax, pattern)
if tax_ids:
taxes.extend(tax_ids)
taxes.update(tax_ids)
continue
taxes.append(tax.id)
taxes.add(tax.id)
if line.party.supplier_tax_rule:
tax_ids = line.party.supplier_tax_rule.apply(None, pattern)
if tax_ids:
taxes.extend(tax_ids)
taxes.update(tax_ids)
line.taxes = taxes
with Transaction().set_context(
@@ -231,19 +231,19 @@ class Move(metaclass=PoolMeta):
line.stock_moves = [self]
line.origin = self
taxes = []
taxes = set()
pattern = self._get_tax_rule_pattern()
for tax in line.product.customer_taxes_used:
if line.party.customer_tax_rule:
tax_ids = line.party.customer_tax_rule.apply(tax, pattern)
if tax_ids:
taxes.extend(tax_ids)
taxes.update(tax_ids)
continue
taxes.append(tax.id)
taxes.add(tax.id)
if line.party.customer_tax_rule:
tax_ids = line.party.customer_tax_rule.apply(None, pattern)
if tax_ids:
taxes.extend(tax_ids)
taxes.update(tax_ids)
line.taxes = taxes
with Transaction().set_context(