mirror of
https://github.com/OCA/account-financial-tools.git
synced 2025-02-02 12:47:26 +02:00
[FIX] account_chart_update: Handle updated m2m correctly
This commit is contained in:
committed by
Reyes4711
parent
26ff1f0ffd
commit
c5a6eb2bf4
@@ -8,7 +8,7 @@
|
||||
{
|
||||
'name': "Detect changes and update the Account Chart from a template",
|
||||
"summary": "Wizard to update a company's account chart from a template",
|
||||
'version': "11.0.1.0.0",
|
||||
'version': "11.0.1.0.1",
|
||||
'author': "Tecnativa, "
|
||||
"BCIM, "
|
||||
"Okia, "
|
||||
|
||||
@@ -90,6 +90,12 @@ class TestAccountChartUpdate(common.HttpCase):
|
||||
self.tax_group = self.env['account.tax.group'].create({
|
||||
'name': 'Test tax group',
|
||||
})
|
||||
self.account_tag_1 = self.env['account.account.tag'].create({
|
||||
'name': 'Test account tag 1',
|
||||
})
|
||||
self.account_tag_2 = self.env['account.account.tag'].create({
|
||||
'name': 'Test account tag 2',
|
||||
})
|
||||
self.company = self.env['res.company'].create({
|
||||
'name': 'Test account_chart_update company',
|
||||
'currency_id': self.chart_template.currency_id.id,
|
||||
@@ -214,6 +220,9 @@ class TestAccountChartUpdate(common.HttpCase):
|
||||
self.tax_template.tax_group_id = self.tax_group.id
|
||||
self.tax_template.refund_account_id = new_account_tmpl.id
|
||||
self.account_template.name = "Other name"
|
||||
self.account_template.tag_ids = [
|
||||
(6, 0, [self.account_tag_1.id, self.account_tag_2.id]),
|
||||
]
|
||||
self.fp_template.note = "Test note"
|
||||
self.fp_template.account_ids.account_dest_id = new_account_tmpl.id
|
||||
self.fp_template.tax_ids.tax_dest_id = self.tax_template.id
|
||||
@@ -239,6 +248,8 @@ class TestAccountChartUpdate(common.HttpCase):
|
||||
self.assertEqual(self.tax.tax_group_id, self.tax_group)
|
||||
self.assertEqual(self.tax.refund_account_id, new_account)
|
||||
self.assertEqual(self.account.name, self.account_template.name)
|
||||
self.assertIn(self.account_tag_1, self.account.tag_ids)
|
||||
self.assertIn(self.account_tag_2, self.account.tag_ids)
|
||||
self.assertEqual(self.fp.note, self.fp_template.note)
|
||||
self.assertEqual(self.fp.account_ids.account_dest_id, new_account)
|
||||
self.assertEqual(self.fp.tax_ids.tax_dest_id, self.tax)
|
||||
|
||||
@@ -422,8 +422,10 @@ class WizardUpdateChartsAccounts(models.TransientModel):
|
||||
result[key] = expected
|
||||
elif template[key] != real[key]:
|
||||
result[key] = template[key]
|
||||
if isinstance(result.get(key, False), models.Model):
|
||||
# Avoid to cache recordset references
|
||||
if isinstance(real._fields[key], fields.Many2many):
|
||||
result[key] = [(6, 0, result[key].ids)]
|
||||
elif isinstance(real._fields[key], fields.Many2one):
|
||||
result[key] = result[key].id
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user