changeset c7e8c1dfef72 in modules/sale:6.2
details: https://hg.tryton.org/modules/sale?cmd=changeset&node=c7e8c1dfef72
description:
        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
        (grafted from 453100758df4109b48b64c5f98643345b946ad4d)
diffstat:

 sale.py |  10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diffs (29 lines):

diff -r 5a89865a0557 -r c7e8c1dfef72 sale.py
--- a/sale.py   Fri Jul 01 23:22:42 2022 +0200
+++ b/sale.py   Sun Jul 17 00:00:56 2022 +0200
@@ -1333,20 +1333,20 @@
 
     @fields.depends('product', methods=['_get_tax_rule_pattern'])
     def compute_taxes(self, party):
-        taxes = []
+        taxes = set()
         pattern = self._get_tax_rule_pattern()
         for tax in self.product.customer_taxes_used:
             if party and party.customer_tax_rule:
                 tax_ids = 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 party and party.customer_tax_rule:
             tax_ids = party.customer_tax_rule.apply(None, pattern)
             if tax_ids:
-                taxes.extend(tax_ids)
-        return taxes
+                taxes.update(tax_ids)
+        return list(taxes)
 
     @fields.depends('product', 'quantity', methods=['_get_context_sale_price'])
     def compute_unit_price(self):

Reply via email to