From 5fc0eadbfe4f29f366f2ed6139b09ace8ea2ebe3 Mon Sep 17 00:00:00 2001 From: braisab Date: Wed, 9 Nov 2022 14:29:11 +0100 Subject: [PATCH] [IMP]pms_api_rest: filter journals for property in GET transactions services --- .../services/pms_account_journal_service.py | 8 +++---- .../services/pms_transaction_service.py | 24 +++++++------------ 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/pms_api_rest/services/pms_account_journal_service.py b/pms_api_rest/services/pms_account_journal_service.py index 4ce6d9aae..1b617a9ac 100644 --- a/pms_api_rest/services/pms_account_journal_service.py +++ b/pms_api_rest/services/pms_account_journal_service.py @@ -31,10 +31,10 @@ class PmsAccountJournalService(Component): if not pms_property: pass else: - for method in pms_property._get_payment_methods(automatic_included=True): - payment_method = self.env["account.journal"].search( - [("id", "=", method.id)] - ) + for payment_method in pms_property._get_payment_methods(automatic_included=True): + # REVIEW: avoid send to app generic company journals + if not payment_method.pms_property_ids: + continue result_account_journals.append( PmsAccountJournalInfo( id=payment_method.id, diff --git a/pms_api_rest/services/pms_transaction_service.py b/pms_api_rest/services/pms_transaction_service.py index 8f95f0c04..937ad7d22 100644 --- a/pms_api_rest/services/pms_transaction_service.py +++ b/pms_api_rest/services/pms_transaction_service.py @@ -35,18 +35,16 @@ class PmsTransactionService(Component): ("state", "=", "posted"), ] - available_journals = () - if pms_transactions_search_param.pmsPropertyId: - available_journals = self.env["account.journal"].search( - [ - ( - "pms_property_ids", - "in", - pms_transactions_search_param.pmsPropertyId, - ), - ] + if pms_transactions_search_param.transactionMethodId: + domain_fields.append( + ("journal_id", "=", pms_transactions_search_param.transactionMethodId), ) - domain_fields.append(("journal_id", "in", available_journals.ids)) + elif pms_transactions_search_param.pmsPropertyId: + pms_property = self.env['pms.property'].browse(pms_transactions_search_param.pmsPropertyId) + available_journals = pms_property._get_payment_methods(automatic_included=True) + # REVIEW: avoid send to app generic company journals + available_journals = available_journals.filtered(lambda j: j.pms_property_ids) + domain_fields.append(("journal_id", "in", available_journals.ids)) domain_filter = list() if pms_transactions_search_param.filter: # TODO: filter by folio and invoice @@ -70,10 +68,6 @@ class PmsTransactionService(Component): ("date", "<", date_to), ] ) - if pms_transactions_search_param.transactionMethodId: - domain_fields.append( - ("journal_id", "=", pms_transactions_search_param.transactionMethodId), - ) if pms_transactions_search_param.transactionType: domain_fields.append(