diff --git a/odoo/addons/base/tests/test_orm.py b/odoo/addons/base/tests/test_orm.py index bbb52f8c80a..3facd2c4570 100644 --- a/odoo/addons/base/tests/test_orm.py +++ b/odoo/addons/base/tests/test_orm.py @@ -315,6 +315,17 @@ class TestInherits(TransactionCase): self.assertEqual(user_bar.name, 'Bar', "name is given from specific partner") self.assertEqual(user_bar.signature, user_foo.signature, "signature should be copied") + @mute_logger('odoo.models') + def test_write_date(self): + """ modifying inherited fields must update write_date """ + user = self.env.user + write_date_before = user.write_date + + # write base64 image + user.write({'image': 'R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=='}) + write_date_after = user.write_date + self.assertNotEqual(write_date_before, write_date_after) + CREATE = lambda values: (0, False, values) UPDATE = lambda id, values: (1, id, values) diff --git a/odoo/models.py b/odoo/models.py index 5964cb324d7..e9304afa8ef 100644 --- a/odoo/models.py +++ b/odoo/models.py @@ -3102,7 +3102,7 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})): with self.env.protecting(protected_fields, self): # write stored fields with (low-level) method _write - if store_vals: + if store_vals or inverse_vals or inherited_vals: self._write(store_vals) # update parent records (after possibly updating parent fields)