From 46174ae637037d15c9159012159bb62c9ae427ac Mon Sep 17 00:00:00 2001 From: Joan Sisquella Date: Wed, 21 Oct 2020 15:43:30 +0200 Subject: [PATCH] [FIX] account_financial_report: filter cancelled journal items --- .../report/aged_partner_balance.py | 4 +++ .../report/general_ledger.py | 4 +++ .../report/journal_ledger.py | 2 ++ account_financial_report/report/open_items.py | 31 ++++++++++++------- .../report/trial_balance.py | 8 +++++ account_financial_report/report/vat_report.py | 4 +++ .../wizard/journal_ledger_wizard.py | 4 +-- 7 files changed, 44 insertions(+), 13 deletions(-) diff --git a/account_financial_report/report/aged_partner_balance.py b/account_financial_report/report/aged_partner_balance.py index 9158bfbe..1e1d9a24 100644 --- a/account_financial_report/report/aged_partner_balance.py +++ b/account_financial_report/report/aged_partner_balance.py @@ -75,6 +75,8 @@ class AgedPartnerBalanceReport(models.AbstractModel): domain += [("partner_id", "in", partner_ids)] if only_posted_moves: domain += [("move_id.state", "=", "posted")] + else: + domain += [("move_id.state", "in", ["posted", "draft"])] if date_from: domain += [("date", ">", date_from)] return domain @@ -141,6 +143,8 @@ class AgedPartnerBalanceReport(models.AbstractModel): domain += [("partner_id", "in", partner_ids)] if only_posted_moves: domain += [("move_id.state", "=", "posted")] + else: + domain += [("move_id.state", "in", ["posted", "draft"])] return domain def _recalculate_move_lines( diff --git a/account_financial_report/report/general_ledger.py b/account_financial_report/report/general_ledger.py index 5324d6ca..ab26c616 100644 --- a/account_financial_report/report/general_ledger.py +++ b/account_financial_report/report/general_ledger.py @@ -191,6 +191,8 @@ class GeneralLedgerReport(models.AbstractModel): base_domain += [("partner_id", "in", partner_ids)] if only_posted_moves: base_domain += [("move_id.state", "=", "posted")] + else: + base_domain += [("move_id.state", "in", ["posted", "draft"])] if analytic_tag_ids: base_domain += [("analytic_tag_ids", "in", analytic_tag_ids)] if cost_center_ids: @@ -371,6 +373,8 @@ class GeneralLedgerReport(models.AbstractModel): domain += [("partner_id", "in", partner_ids)] if only_posted_moves: domain += [("move_id.state", "=", "posted")] + else: + domain += [("move_id.state", "in", ["posted", "draft"])] if analytic_tag_ids: domain += [("analytic_tag_ids", "in", analytic_tag_ids)] if cost_center_ids: diff --git a/account_financial_report/report/journal_ledger.py b/account_financial_report/report/journal_ledger.py index 2ae97810..0d0edbc1 100644 --- a/account_financial_report/report/journal_ledger.py +++ b/account_financial_report/report/journal_ledger.py @@ -49,6 +49,8 @@ class JournalLedgerReport(models.AbstractModel): ] if wizard.move_target != "all": domain += [("state", "=", wizard.move_target)] + else: + domain += [("state", "in", ["posted", "draft"])] return domain def _get_moves_order(self, wizard, journal_ids): diff --git a/account_financial_report/report/open_items.py b/account_financial_report/report/open_items.py index 6383dbd4..49d1c237 100644 --- a/account_financial_report/report/open_items.py +++ b/account_financial_report/report/open_items.py @@ -54,7 +54,7 @@ class OpenItemsReport(models.AbstractModel): @api.model def _get_new_move_lines_domain( - self, new_ml_ids, account_ids, company_id, partner_ids, target_moves + self, new_ml_ids, account_ids, company_id, partner_ids, only_posted_moves ): domain = [ ("account_id", "in", account_ids), @@ -63,8 +63,10 @@ class OpenItemsReport(models.AbstractModel): ] if partner_ids: domain += [("partner_id", "in", partner_ids)] - if target_moves == "posted": + if only_posted_moves: domain += [("move_id.state", "=", "posted")] + else: + domain += [("move_id.state", "in", ["posted", "draft"])] return domain def _recalculate_move_lines( @@ -78,7 +80,7 @@ class OpenItemsReport(models.AbstractModel): account_ids, company_id, partner_ids, - target_moves, + only_posted_moves, ): debit_ids = set(debit_ids) credit_ids = set(credit_ids) @@ -89,7 +91,7 @@ class OpenItemsReport(models.AbstractModel): new_ml_ids = reconciled_ids - ml_ids new_ml_ids = list(new_ml_ids) new_domain = self._get_new_move_lines_domain( - new_ml_ids, account_ids, company_id, partner_ids, target_moves + new_ml_ids, account_ids, company_id, partner_ids, only_posted_moves ) ml_fields = [ "id", @@ -123,7 +125,7 @@ class OpenItemsReport(models.AbstractModel): @api.model def _get_move_lines_domain( - self, company_id, account_ids, partner_ids, target_move, date_from + self, company_id, account_ids, partner_ids, only_posted_moves, date_from ): domain = [ ("account_id", "in", account_ids), @@ -132,8 +134,10 @@ class OpenItemsReport(models.AbstractModel): ] if partner_ids: domain += [("partner_id", "in", partner_ids)] - if target_move == "posted": + if only_posted_moves: domain += [("move_id.state", "=", "posted")] + else: + domain += [("move_id.state", "in", ["posted", "draft"])] if date_from: domain += [("date", ">", date_from)] return domain @@ -168,12 +172,12 @@ class OpenItemsReport(models.AbstractModel): account_ids, partner_ids, date_at_object, - target_move, + only_posted_moves, company_id, date_from, ): domain = self._get_move_lines_domain( - company_id, account_ids, partner_ids, target_move, date_from + company_id, account_ids, partner_ids, only_posted_moves, date_from ) ml_fields = [ "id", @@ -223,7 +227,7 @@ class OpenItemsReport(models.AbstractModel): account_ids, company_id, partner_ids, - target_move, + only_posted_moves, ) move_lines = [ move_line @@ -356,7 +360,7 @@ class OpenItemsReport(models.AbstractModel): date_at = data["date_at"] date_at_object = datetime.strptime(date_at, "%Y-%m-%d").date() date_from = data["date_from"] - target_move = data["target_move"] + only_posted_moves = data["only_posted_moves"] show_partner_details = data["show_partner_details"] ( @@ -366,7 +370,12 @@ class OpenItemsReport(models.AbstractModel): accounts_data, open_items_move_lines_data, ) = self._get_data( - account_ids, partner_ids, date_at_object, target_move, company_id, date_from + account_ids, + partner_ids, + date_at_object, + only_posted_moves, + company_id, + date_from, ) total_amount = self._calculate_amounts(open_items_move_lines_data) diff --git a/account_financial_report/report/trial_balance.py b/account_financial_report/report/trial_balance.py index 147978e0..d7ee6126 100644 --- a/account_financial_report/report/trial_balance.py +++ b/account_financial_report/report/trial_balance.py @@ -74,6 +74,8 @@ class TrialBalanceReport(models.AbstractModel): domain += [("partner_id", "in", partner_ids)] if only_posted_moves: domain += [("move_id.state", "=", "posted")] + else: + domain += [("move_id.state", "in", ["posted", "draft"])] if show_partner_details: domain += [("account_id.internal_type", "in", ["receivable", "payable"])] return domain @@ -106,6 +108,8 @@ class TrialBalanceReport(models.AbstractModel): domain += [("partner_id", "in", partner_ids)] if only_posted_moves: domain += [("move_id.state", "=", "posted")] + else: + domain += [("move_id.state", "in", ["posted", "draft"])] if show_partner_details: domain += [("account_id.internal_type", "in", ["receivable", "payable"])] return domain @@ -137,6 +141,8 @@ class TrialBalanceReport(models.AbstractModel): domain += [("partner_id", "in", partner_ids)] if only_posted_moves: domain += [("move_id.state", "=", "posted")] + else: + domain += [("move_id.state", "in", ["posted", "draft"])] if show_partner_details: domain += [("account_id.internal_type", "in", ["receivable", "payable"])] return domain @@ -168,6 +174,8 @@ class TrialBalanceReport(models.AbstractModel): domain += [("partner_id", "in", partner_ids)] if only_posted_moves: domain += [("move_id.state", "=", "posted")] + else: + domain += [("move_id.state", "in", ["posted", "draft"])] if show_partner_details: domain += [("account_id.internal_type", "in", ["receivable", "payable"])] return domain diff --git a/account_financial_report/report/vat_report.py b/account_financial_report/report/vat_report.py index ad6f5aa3..d1b89974 100644 --- a/account_financial_report/report/vat_report.py +++ b/account_financial_report/report/vat_report.py @@ -40,6 +40,8 @@ class VATReport(models.AbstractModel): ] if only_posted_moves: domain += [("move_id.state", "=", "posted")] + else: + domain += [("move_id.state", "in", ["posted", "draft"])] return domain @api.model @@ -52,6 +54,8 @@ class VATReport(models.AbstractModel): ] if only_posted_moves: domain += [("move_id.state", "=", "posted")] + else: + domain += [("move_id.state", "in", ["posted", "draft"])] return domain def _get_vat_report_data(self, company_id, date_from, date_to, only_posted_moves): diff --git a/account_financial_report/wizard/journal_ledger_wizard.py b/account_financial_report/wizard/journal_ledger_wizard.py index 3a8d3860..a511910c 100644 --- a/account_financial_report/wizard/journal_ledger_wizard.py +++ b/account_financial_report/wizard/journal_ledger_wizard.py @@ -152,8 +152,8 @@ class JournalLedgerReportWizard(models.TransientModel): @api.model def _get_partner_name(self, partner_id, partner_data): - if str(partner_id) in partner_data.keys(): - return partner_data[str(partner_id)]["name"] + if partner_id in partner_data.keys(): + return partner_data[partner_id]["name"] else: return ""