changeset 98099dc73eb3 in modules/purchase:default
details: https://hg.tryton.org/modules/purchase?cmd=changeset;node=98099dc73eb3
description:
        Reuse get_tax_amount in on_change_lines

        issue9537
        review312091002
diffstat:

 purchase.py |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (30 lines):

diff -r 0daec31b788d -r 98099dc73eb3 purchase.py
--- a/purchase.py       Sun Aug 16 16:52:00 2020 +0200
+++ b/purchase.py       Thu Sep 03 09:01:26 2020 +0200
@@ -470,7 +470,7 @@
             context['language'] = self.party.lang.code
         return context
 
-    @fields.depends('lines', 'currency', methods=['_get_taxes'])
+    @fields.depends('lines', 'currency', methods=['get_tax_amount'])
     def on_change_lines(self):
         self.untaxed_amount = Decimal('0.0')
         self.tax_amount = Decimal('0.0')
@@ -479,8 +479,7 @@
         if self.lines:
             for line in self.lines:
                 self.untaxed_amount += getattr(line, 'amount', None) or 0
-            taxes = self._get_taxes()
-            self.tax_amount = sum(t['amount'] for t in taxes.values())
+            self.tax_amount = self.get_tax_amount()
         if self.currency:
             self.untaxed_amount = self.currency.round(self.untaxed_amount)
             self.tax_amount = self.currency.round(self.tax_amount)
@@ -506,6 +505,7 @@
                     if value is not None else default_value,)
         return taxable_lines
 
+    @fields.depends(methods=['_get_taxes'])
     def get_tax_amount(self):
         taxes = iter(self._get_taxes().values())
         return sum((tax['amount'] for tax in taxes), Decimal(0))

Reply via email to