mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
[IMP][account_banking_payment_transfer] Move the creation of partner move line out of action_sent method
This commit is contained in:
@@ -197,6 +197,28 @@ class PaymentOrder(models.Model):
|
||||
"""This function is designed to be inherited"""
|
||||
return
|
||||
|
||||
@api.model
|
||||
def _create_move_line_partner_account(self, line, move, labels):
|
||||
"""This method is designed to be inherited in a custom module"""
|
||||
|
||||
# TODO: take multicurrency into account
|
||||
aml_obj = self.env['account.move.line']
|
||||
pl_obj = self.env['payment.line']
|
||||
# create the payment/debit counterpart move line
|
||||
# on the partner account
|
||||
partner_ml_vals = self._prepare_move_line_partner_account(
|
||||
line, move, labels)
|
||||
partner_move_line = aml_obj.create(partner_ml_vals)
|
||||
|
||||
# register the payment/debit move line
|
||||
# on the payment line and call reconciliation on it
|
||||
line.write({'transit_move_line_id': partner_move_line.id})
|
||||
|
||||
if line.move_line_id:
|
||||
pl_obj.debit_reconcile(line.id)
|
||||
else:
|
||||
self.action_sent_no_move_line_hook(line)
|
||||
|
||||
@api.one
|
||||
def action_sent(self):
|
||||
"""
|
||||
@@ -206,7 +228,6 @@ class PaymentOrder(models.Model):
|
||||
"""
|
||||
am_obj = self.env['account.move']
|
||||
aml_obj = self.env['account.move.line']
|
||||
pl_obj = self.env['payment.line']
|
||||
labels = {
|
||||
'payment': _('Payment order'),
|
||||
'debit': _('Direct debit order'),
|
||||
@@ -237,24 +258,8 @@ class PaymentOrder(models.Model):
|
||||
move = am_obj.create(mvals)
|
||||
total_amount = 0
|
||||
for line in lines:
|
||||
# TODO: take multicurrency into account
|
||||
|
||||
# create the payment/debit counterpart move line
|
||||
# on the partner account
|
||||
partner_ml_vals = self._prepare_move_line_partner_account(
|
||||
line, move, labels)
|
||||
partner_move_line = aml_obj.create(partner_ml_vals)
|
||||
total_amount += line.amount
|
||||
|
||||
# register the payment/debit move line
|
||||
# on the payment line and call reconciliation on it
|
||||
line.write({'transit_move_line_id': partner_move_line.id})
|
||||
|
||||
if line.move_line_id:
|
||||
pl_obj.debit_reconcile(line.id)
|
||||
else:
|
||||
self.action_sent_no_move_line_hook(line)
|
||||
|
||||
self._create_move_line_partner_account(line, move, labels)
|
||||
# create the payment/debit move line on the transfer account
|
||||
trf_ml_vals = self._prepare_move_line_transfer_account(
|
||||
total_amount, move, lines, labels)
|
||||
|
||||
Reference in New Issue
Block a user