[FIX] base_changeset: models may not have a `name` field

Fixes

```
bank.changeset_ids.name_get()
*** AttributeError: 'res.partner.bank' object has no attribute 'name'
```
pull/2380/head
Stefan Rijnhart 2021-12-30 17:03:56 +01:00 committed by Miquel Raïch
parent 784426b1a9
commit 2050f54fd4
2 changed files with 16 additions and 1 deletions

View File

@ -67,7 +67,7 @@ class RecordChangeset(models.Model):
def name_get(self):
result = []
for changeset in self:
name = "{} ({})".format(changeset.date, changeset.record_id.name)
name = "{} ({})".format(changeset.date, changeset.record_id.display_name)
result.append((changeset.id, name))
return result

View File

@ -331,3 +331,18 @@ class TestChangesetFlow(ChangesetTestCommon, TransactionCase):
self.partner._compute_changeset_ids()
changeset = self.partner.changeset_ids
self.assertEqual(changeset.source, company)
def test_name_get(self):
"""Test the name_get of a changeset for a model without name field"""
self.env["changeset.field.rule"].create(
{
"field_id": self.env.ref("base.field_res_partner_bank__active").id,
"action": "validate",
}
)
bank = self.env.ref("base.bank_partner_demo").with_context(
test_record_changeset=True
)
bank.active = False
self.assertTrue(bank.changeset_ids)
self.assertIn(bank.acc_number, bank.changeset_ids.name_get()[0][1])