[FIX] account_reconcile_oca: Fix wrong display on reconciled moves
If your reconcile an invoice and in the old option, the reconcile widget shows something weird with three lines but we should have only two. The data was right with 2 lines only.pull/690/head
parent
b11a75da9f
commit
7296eb2ebe
|
@ -442,7 +442,7 @@ class AccountBankStatementLine(models.Model):
|
||||||
return
|
return
|
||||||
self.partner_id = self.manual_partner_id
|
self.partner_id = self.manual_partner_id
|
||||||
|
|
||||||
@api.depends("reconcile_data")
|
@api.depends("reconcile_data", "is_reconciled")
|
||||||
def _compute_reconcile_data_info(self):
|
def _compute_reconcile_data_info(self):
|
||||||
for record in self:
|
for record in self:
|
||||||
if record.reconcile_data:
|
if record.reconcile_data:
|
||||||
|
@ -553,11 +553,6 @@ class AccountBankStatementLine(models.Model):
|
||||||
reconcile_auxiliary_id,
|
reconcile_auxiliary_id,
|
||||||
self.manual_reference,
|
self.manual_reference,
|
||||||
)
|
)
|
||||||
else:
|
|
||||||
other_lines = (
|
|
||||||
other_lines.matched_credit_ids.credit_move_id
|
|
||||||
| other_lines.matched_debit_ids.debit_move_id
|
|
||||||
)
|
|
||||||
for line in other_lines:
|
for line in other_lines:
|
||||||
reconcile_auxiliary_id, lines = self._get_reconcile_line(
|
reconcile_auxiliary_id, lines = self._get_reconcile_line(
|
||||||
line, "other", from_unreconcile=from_unreconcile
|
line, "other", from_unreconcile=from_unreconcile
|
||||||
|
@ -579,7 +574,7 @@ class AccountBankStatementLine(models.Model):
|
||||||
result = getattr(self, "_reconcile_bank_line_%s" % self.reconcile_mode)(
|
result = getattr(self, "_reconcile_bank_line_%s" % self.reconcile_mode)(
|
||||||
self._prepare_reconcile_line_data(self.reconcile_data_info["data"])
|
self._prepare_reconcile_line_data(self.reconcile_data_info["data"])
|
||||||
)
|
)
|
||||||
self.reconcile_data_info = False
|
self.reconcile_data = False
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def _reconcile_bank_line_edit(self, data):
|
def _reconcile_bank_line_edit(self, data):
|
||||||
|
|
|
@ -193,7 +193,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
||||||
lambda r: r.account_id == self.bank_journal_euro.suspense_account_id
|
lambda r: r.account_id == self.bank_journal_euro.suspense_account_id
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
bank_stmt_line.reconcile_bank_line()
|
bank_stmt_line.reconcile_bank_line()
|
||||||
|
self.assertEqual(
|
||||||
|
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
|
)
|
||||||
self.assertTrue(bank_stmt_line.is_reconciled)
|
self.assertTrue(bank_stmt_line.is_reconciled)
|
||||||
self.assertFalse(
|
self.assertFalse(
|
||||||
bank_stmt_line.move_id.line_ids.filtered(
|
bank_stmt_line.move_id.line_ids.filtered(
|
||||||
|
@ -260,7 +264,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
||||||
self.assertTrue(f.can_reconcile)
|
self.assertTrue(f.can_reconcile)
|
||||||
self.assertEqual(inv1.amount_residual_signed, 100)
|
self.assertEqual(inv1.amount_residual_signed, 100)
|
||||||
self.assertEqual(inv2.amount_residual_signed, 100)
|
self.assertEqual(inv2.amount_residual_signed, 100)
|
||||||
|
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
bank_stmt_line.reconcile_bank_line()
|
bank_stmt_line.reconcile_bank_line()
|
||||||
|
self.assertEqual(
|
||||||
|
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
|
)
|
||||||
self.assertEqual(inv1.amount_residual_signed, 30)
|
self.assertEqual(inv1.amount_residual_signed, 30)
|
||||||
self.assertEqual(inv2.amount_residual_signed, 70)
|
self.assertEqual(inv2.amount_residual_signed, 70)
|
||||||
|
|
||||||
|
@ -320,7 +328,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
||||||
self.assertTrue(f.can_reconcile)
|
self.assertTrue(f.can_reconcile)
|
||||||
self.assertEqual(inv1.amount_residual_signed, -100)
|
self.assertEqual(inv1.amount_residual_signed, -100)
|
||||||
self.assertEqual(inv2.amount_residual_signed, -100)
|
self.assertEqual(inv2.amount_residual_signed, -100)
|
||||||
|
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
bank_stmt_line.reconcile_bank_line()
|
bank_stmt_line.reconcile_bank_line()
|
||||||
|
self.assertEqual(
|
||||||
|
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
|
)
|
||||||
self.assertEqual(inv1.amount_residual_signed, -30)
|
self.assertEqual(inv1.amount_residual_signed, -30)
|
||||||
self.assertEqual(inv2.amount_residual_signed, -70)
|
self.assertEqual(inv2.amount_residual_signed, -70)
|
||||||
|
|
||||||
|
@ -353,7 +365,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
||||||
self.assertFalse(f.can_reconcile)
|
self.assertFalse(f.can_reconcile)
|
||||||
f.manual_model_id = self.rule
|
f.manual_model_id = self.rule
|
||||||
self.assertTrue(f.can_reconcile)
|
self.assertTrue(f.can_reconcile)
|
||||||
|
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
bank_stmt_line.reconcile_bank_line()
|
bank_stmt_line.reconcile_bank_line()
|
||||||
|
self.assertEqual(
|
||||||
|
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
|
)
|
||||||
self.assertEqual(2, len(bank_stmt_line.move_id.line_ids))
|
self.assertEqual(2, len(bank_stmt_line.move_id.line_ids))
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
bank_stmt_line.move_id.line_ids.filtered(
|
bank_stmt_line.move_id.line_ids.filtered(
|
||||||
|
@ -393,7 +409,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
||||||
self.assertFalse(f.can_reconcile)
|
self.assertFalse(f.can_reconcile)
|
||||||
f.manual_model_id = self.rule
|
f.manual_model_id = self.rule
|
||||||
self.assertTrue(f.can_reconcile)
|
self.assertTrue(f.can_reconcile)
|
||||||
|
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
bank_stmt_line.reconcile_bank_line()
|
bank_stmt_line.reconcile_bank_line()
|
||||||
|
self.assertEqual(
|
||||||
|
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
|
)
|
||||||
self.assertEqual(3, len(bank_stmt_line.move_id.line_ids))
|
self.assertEqual(3, len(bank_stmt_line.move_id.line_ids))
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
bank_stmt_line.move_id.line_ids.filtered(
|
bank_stmt_line.move_id.line_ids.filtered(
|
||||||
|
@ -446,7 +466,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
||||||
self.assertFalse(f.can_reconcile)
|
self.assertFalse(f.can_reconcile)
|
||||||
f.manual_model_id = self.rule
|
f.manual_model_id = self.rule
|
||||||
self.assertTrue(f.can_reconcile)
|
self.assertTrue(f.can_reconcile)
|
||||||
|
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
bank_stmt_line.reconcile_bank_line()
|
bank_stmt_line.reconcile_bank_line()
|
||||||
|
self.assertEqual(
|
||||||
|
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
|
)
|
||||||
self.assertNotEqual(self.current_assets_account, receivable1.account_id)
|
self.assertNotEqual(self.current_assets_account, receivable1.account_id)
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
bank_stmt_line.move_id.line_ids.filtered(
|
bank_stmt_line.move_id.line_ids.filtered(
|
||||||
|
@ -534,7 +558,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
||||||
f.add_account_move_line_id = receivable1
|
f.add_account_move_line_id = receivable1
|
||||||
self.assertFalse(f.add_account_move_line_id)
|
self.assertFalse(f.add_account_move_line_id)
|
||||||
self.assertTrue(bank_stmt_line.can_reconcile)
|
self.assertTrue(bank_stmt_line.can_reconcile)
|
||||||
|
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
bank_stmt_line.reconcile_bank_line()
|
bank_stmt_line.reconcile_bank_line()
|
||||||
|
self.assertEqual(
|
||||||
|
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
|
)
|
||||||
self.assertIn(
|
self.assertIn(
|
||||||
self.bank_journal_euro.suspense_account_id,
|
self.bank_journal_euro.suspense_account_id,
|
||||||
bank_stmt_line.mapped("move_id.line_ids.account_id"),
|
bank_stmt_line.mapped("move_id.line_ids.account_id"),
|
||||||
|
@ -1011,7 +1039,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
||||||
self.assertFalse(f.add_account_move_line_id)
|
self.assertFalse(f.add_account_move_line_id)
|
||||||
self.assertTrue(f.can_reconcile)
|
self.assertTrue(f.can_reconcile)
|
||||||
self.assertTrue(bank_stmt_line.can_reconcile)
|
self.assertTrue(bank_stmt_line.can_reconcile)
|
||||||
|
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
bank_stmt_line.reconcile_bank_line()
|
bank_stmt_line.reconcile_bank_line()
|
||||||
|
self.assertEqual(
|
||||||
|
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||||
|
)
|
||||||
self.assertEqual(0, inv1.amount_residual)
|
self.assertEqual(0, inv1.amount_residual)
|
||||||
self.assertTrue(
|
self.assertTrue(
|
||||||
inv1.line_ids.filtered(
|
inv1.line_ids.filtered(
|
||||||
|
|
Loading…
Reference in New Issue