From 4ab46071a36241c289517e470013363ef71882e5 Mon Sep 17 00:00:00 2001 From: Frederik Jaeckel Date: Mon, 6 Feb 2023 09:32:01 +0100 Subject: [PATCH] fix: evaluation cashbook-currentvalue/diff return 'balance' on non-asset-cashbooks --- investment.py | 8 ++++++++ tests/test_report.py | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/investment.py b/investment.py index fcd53ed..2bfb384 100644 --- a/investment.py +++ b/investment.py @@ -119,6 +119,8 @@ class InvestmentLine(metaclass=PoolMeta): return self.convert_to_evalcurrency( self.cashbook.currency, self.cashbook.diff_amount) + else : + return Decimal('0.0') def get_value_cashbooks_glvalue(self): """ current value of cashbooks @@ -130,6 +132,10 @@ class InvestmentLine(metaclass=PoolMeta): return self.convert_to_evalcurrency( self.cashbook.currency, self.cashbook.current_value) + else : + return self.convert_to_evalcurrency( + self.cashbook.currency, + self.cashbook.balance_ref) def get_value_cashbooks_glperc(self): """ percent of profit/loss of cashbooks @@ -137,5 +143,7 @@ class InvestmentLine(metaclass=PoolMeta): if self.cashbook: if self.cashbook.feature == 'asset': return self.cashbook.diff_percent + else : + return Decimal('0.0') # end InvestmentLine diff --git a/tests/test_report.py b/tests/test_report.py index 6e995cd..cc211bc 100644 --- a/tests/test_report.py +++ b/tests/test_report.py @@ -3,7 +3,7 @@ # The COPYRIGHT file at the top level of this repository contains the # full copyright notices and license terms. -from trytond.tests.test_tryton import ModuleTestCase, with_transaction +from trytond.tests.test_tryton import ModuleTestCase, with_transaction, activate_module from trytond.pool import Pool from trytond.transaction import Transaction from trytond.exceptions import UserError @@ -16,6 +16,13 @@ class ReportTestCase(CashbookTestCase): 'Test cashbook book report module' module = 'cashbook_report' + @classmethod + def setUpClass(cls): + """ add modelues + """ + super(ReportTestCase, cls).setUpClass() + activate_module(['dashboard', 'cashbook_investment']) + def prep_report_3books(self): """ create 3x cashbooks, add bookings, """