[IMP][account_banking_payment_transfer] Use Standard method to reconcile parners move line

This commit is contained in:
Adrien Peiffer (ACSONE)
2015-06-22 16:15:07 +02:00
parent 4bd92e1b52
commit 3cbe770a75
2 changed files with 10 additions and 27 deletions

View File

@@ -205,7 +205,6 @@ class PaymentOrder(models.Model):
# 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(
@@ -216,10 +215,13 @@ class PaymentOrder(models.Model):
# 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)
def _reconcile_payment_lines(self, payment_lines):
pl_obj = self.env['payment.line']
for line in payment_lines:
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):
@@ -267,6 +269,7 @@ class PaymentOrder(models.Model):
trf_ml_vals = self._prepare_move_line_transfer_account(
total_amount, move, lines, labels)
aml_obj.create(trf_ml_vals)
self._reconcile_payment_lines(lines)
# post account move
move.post()

View File

@@ -129,7 +129,6 @@ class PaymentLine(orm.Model):
if isinstance(payment_line_id, (list, tuple)):
payment_line_id = payment_line_id[0]
reconcile_obj = self.pool.get('account.move.reconcile')
move_line_obj = self.pool.get('account.move.line')
payment_line = self.browse(cr, uid, payment_line_id, context=context)
@@ -160,28 +159,9 @@ class PaymentLine(orm.Model):
cr, uid, transit_move_line.company_id.currency_id, total)
line_ids = [transit_move_line.id, torec_move_line.id]
if torec_move_line.reconcile_partial_id:
line_ids = [
x.id for x in
torec_move_line.reconcile_partial_id.line_partial_ids
] + [transit_move_line.id]
move_line_obj.reconcile_partial(cr, uid, line_ids, type='manual',
context=context)
total = move_line_obj.get_balance(cr, uid, line_ids)
vals = {
'type': 'auto',
'line_id': is_zero(total) and [(6, 0, line_ids)] or [(6, 0, [])],
'line_partial_ids': (is_zero(total) and
[(6, 0, [])] or
[(6, 0, line_ids)]),
}
if torec_move_line.reconcile_partial_id:
reconcile_obj.write(
cr, uid, [torec_move_line.reconcile_partial_id.id],
vals, context=context)
else:
reconcile_obj.create(
cr, uid, vals, context=context)
for line_id in line_ids:
workflow.trg_trigger(
uid, 'account.move.line', line_id, cr)