From d1879e4dcf2a363acf2fae144b887f0f3f25f231 Mon Sep 17 00:00:00 2001 From: Joan Sisquella Date: Thu, 30 Apr 2020 11:48:23 +0200 Subject: [PATCH] [IMP] account_financial_report: open_items & aged_partner_balance * Now account_ids is empty by default and required * Domain is applied in the selection of the accounts --- .../wizard/aged_partner_balance_wizard.py | 12 +++++++++--- account_financial_report/wizard/open_items_wizard.py | 11 ++++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/account_financial_report/wizard/aged_partner_balance_wizard.py b/account_financial_report/wizard/aged_partner_balance_wizard.py index 57f32d66..ac624f63 100644 --- a/account_financial_report/wizard/aged_partner_balance_wizard.py +++ b/account_financial_report/wizard/aged_partner_balance_wizard.py @@ -29,6 +29,8 @@ class AgedPartnerBalanceWizard(models.TransientModel): account_ids = fields.Many2many( comodel_name='account.account', string='Filter accounts', + domain=[('reconcile', '=', True)], + required=True, ) receivable_accounts_only = fields.Boolean() payable_accounts_only = fields.Boolean() @@ -61,6 +63,10 @@ class AgedPartnerBalanceWizard(models.TransientModel): res['domain']['partner_ids'] += self._get_partner_ids_domain() return res + @api.onchange('account_ids') + def onchange_account_ids(self): + return {'domain': {'account_ids': [('reconcile', '=', True)]}} + @api.onchange('receivable_accounts_only', 'payable_accounts_only') def onchange_type_accounts_only(self): """Handle receivable/payable accounts only change.""" @@ -72,9 +78,9 @@ class AgedPartnerBalanceWizard(models.TransientModel): domain += [('internal_type', '=', 'receivable')] elif self.payable_accounts_only: domain += [('internal_type', '=', 'payable')] - elif not self.receivable_accounts_only and not self.payable_accounts_only: - domain += [('reconcile', '=', True)] - self.account_ids = self.env['account.account'].search(domain) + self.account_ids = self.env['account.account'].search(domain) + else: + self.account_ids = None @api.multi def _print_report(self, report_type): diff --git a/account_financial_report/wizard/open_items_wizard.py b/account_financial_report/wizard/open_items_wizard.py index 3e66971d..5d6b8f84 100644 --- a/account_financial_report/wizard/open_items_wizard.py +++ b/account_financial_report/wizard/open_items_wizard.py @@ -31,6 +31,7 @@ class OpenItemsReportWizard(models.TransientModel): comodel_name='account.account', string='Filter accounts', domain=[('reconcile', '=', True)], + required=True, ) hide_account_at_0 = fields.Boolean( string='Hide account ending balance at 0', default=True, @@ -84,6 +85,10 @@ class OpenItemsReportWizard(models.TransientModel): res['domain']['partner_ids'] += self._get_partner_ids_domain() return res + @api.onchange('account_ids') + def onchange_account_ids(self): + return {'domain': {'account_ids': [('reconcile', '=', True)]}} + @api.onchange('receivable_accounts_only', 'payable_accounts_only') def onchange_type_accounts_only(self): """Handle receivable/payable accounts only change.""" @@ -95,9 +100,9 @@ class OpenItemsReportWizard(models.TransientModel): domain += [('internal_type', '=', 'receivable')] elif self.payable_accounts_only: domain += [('internal_type', '=', 'payable')] - elif not self.receivable_accounts_only and not self.payable_accounts_only: - domain += [('reconcile', '=', True)] - self.account_ids = self.env['account.account'].search(domain) + self.account_ids = self.env['account.account'].search(domain) + else: + self.account_ids = None @api.multi def _print_report(self, report_type):