oca-ocb-l10n_asia-pacific/odoo-bringout-oca-ocb-l10n_in/l10n_in/models/account_journal.py
Ernad Husremovic 7f43bbbfcc 19.0 vanilla
2026-03-09 09:31:21 +01:00

30 lines
1.2 KiB
Python

from odoo import models
class AccountJournal(models.Model):
_inherit = "account.journal"
def _update_payment_method_lines(self, payment_type):
bank_journals = self.filtered(lambda j: j.type == "bank" and j.company_id.chart_template == "in")
if not bank_journals:
return
if payment_type == 'inbound':
account_xmlid = "account_journal_payment_debit_account_id"
else:
account_xmlid = "account_journal_payment_credit_account_id"
lines_to_update = bank_journals[f"{payment_type}_payment_method_line_ids"].filtered(
lambda l: l.payment_method_id.code == 'manual'
)
for company, lines in lines_to_update.grouped('company_id').items():
if account := self.env['account.chart.template'].with_company(company).ref(account_xmlid, raise_if_not_found=False):
lines.payment_account_id = account
def _compute_inbound_payment_method_line_ids(self):
super()._compute_inbound_payment_method_line_ids()
self._update_payment_method_lines("inbound")
def _compute_outbound_payment_method_line_ids(self):
super()._compute_outbound_payment_method_line_ids()
self._update_payment_method_lines("outbound")