[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/808/head
parent
fdd41f1e94
commit
b9d1d6dbc0
|
@ -438,7 +438,7 @@ class AccountBankStatementLine(models.Model):
|
|||
return
|
||||
self.partner_id = self.manual_partner_id
|
||||
|
||||
@api.depends("reconcile_data")
|
||||
@api.depends("reconcile_data", "is_reconciled")
|
||||
def _compute_reconcile_data_info(self):
|
||||
for record in self:
|
||||
if record.reconcile_data:
|
||||
|
@ -553,11 +553,6 @@ class AccountBankStatementLine(models.Model):
|
|||
reconcile_auxiliary_id,
|
||||
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:
|
||||
reconcile_auxiliary_id, lines = self._get_reconcile_line(
|
||||
line, "other", from_unreconcile=from_unreconcile
|
||||
|
@ -579,7 +574,7 @@ class AccountBankStatementLine(models.Model):
|
|||
result = getattr(self, "_reconcile_bank_line_%s" % self.reconcile_mode)(
|
||||
self._prepare_reconcile_line_data(self.reconcile_data_info["data"])
|
||||
)
|
||||
self.reconcile_data_info = False
|
||||
self.reconcile_data = False
|
||||
return result
|
||||
|
||||
def _reconcile_bank_line_edit(self, data):
|
||||
|
|
|
@ -200,7 +200,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
|||
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()
|
||||
self.assertEqual(
|
||||
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||
)
|
||||
self.assertTrue(bank_stmt_line.is_reconciled)
|
||||
self.assertFalse(
|
||||
bank_stmt_line.move_id.line_ids.filtered(
|
||||
|
@ -267,7 +271,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
|||
self.assertTrue(f.can_reconcile)
|
||||
self.assertEqual(inv1.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()
|
||||
self.assertEqual(
|
||||
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||
)
|
||||
self.assertEqual(inv1.amount_residual_signed, 30)
|
||||
self.assertEqual(inv2.amount_residual_signed, 70)
|
||||
|
||||
|
@ -327,7 +335,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
|||
self.assertTrue(f.can_reconcile)
|
||||
self.assertEqual(inv1.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()
|
||||
self.assertEqual(
|
||||
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||
)
|
||||
self.assertEqual(inv1.amount_residual_signed, -30)
|
||||
self.assertEqual(inv2.amount_residual_signed, -70)
|
||||
|
||||
|
@ -360,7 +372,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
|||
self.assertFalse(f.can_reconcile)
|
||||
f.manual_model_id = self.rule
|
||||
self.assertTrue(f.can_reconcile)
|
||||
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||
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.assertTrue(
|
||||
bank_stmt_line.move_id.line_ids.filtered(
|
||||
|
@ -400,7 +416,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
|||
self.assertFalse(f.can_reconcile)
|
||||
f.manual_model_id = self.rule
|
||||
self.assertTrue(f.can_reconcile)
|
||||
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||
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.assertTrue(
|
||||
bank_stmt_line.move_id.line_ids.filtered(
|
||||
|
@ -453,7 +473,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
|||
self.assertFalse(f.can_reconcile)
|
||||
f.manual_model_id = self.rule
|
||||
self.assertTrue(f.can_reconcile)
|
||||
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||
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.assertTrue(
|
||||
bank_stmt_line.move_id.line_ids.filtered(
|
||||
|
@ -541,7 +565,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
|||
f.add_account_move_line_id = receivable1
|
||||
self.assertFalse(f.add_account_move_line_id)
|
||||
self.assertTrue(bank_stmt_line.can_reconcile)
|
||||
number_of_lines = len(bank_stmt_line.reconcile_data_info["data"])
|
||||
bank_stmt_line.reconcile_bank_line()
|
||||
self.assertEqual(
|
||||
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||
)
|
||||
self.assertIn(
|
||||
self.bank_journal_euro.suspense_account_id,
|
||||
bank_stmt_line.mapped("move_id.line_ids.account_id"),
|
||||
|
@ -1018,7 +1046,11 @@ class TestReconciliationWidget(TestAccountReconciliationCommon):
|
|||
self.assertFalse(f.add_account_move_line_id)
|
||||
self.assertTrue(f.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()
|
||||
self.assertEqual(
|
||||
number_of_lines, len(bank_stmt_line.reconcile_data_info["data"])
|
||||
)
|
||||
self.assertEqual(0, inv1.amount_residual)
|
||||
self.assertTrue(
|
||||
inv1.line_ids.filtered(
|
||||
|
|
Loading…
Reference in New Issue