Do not set twice the result of an on_change call in a x2many

Closes #13971
(grafted from e38f22986aac2e37fa5b2ca448152f49698475e6)

--HG--
branch : 7.0
This commit is contained in:
Nicolas Évrard
2025-04-15 16:14:37 +02:00
parent f199e48a18
commit ae4f4c3ba1
2 changed files with 9 additions and 2 deletions
+5 -1
View File
@@ -2506,7 +2506,11 @@
}
const record2 = group.get(vals.id);
if (record2) {
record2.set_on_change(vals);
let to_update = Object.fromEntries(
Object.entries(vals).filter(
([k, v]) => !Object.prototype.hasOwnProperty.call(vals_to_set, k)
));
record2.set_on_change(to_update);
}
}
}
@@ -860,7 +860,10 @@ class O2MField(Field):
continue
record2 = group.get(vals['id'])
if record2 is not None:
record2.set_on_change(vals)
to_set = {
k: v for k, v in vals.items
if k not in vals_to_set}
record2.set_on_change(to_set)
def validation_domains(self, record, pre_validate=None):
screen_domain, attr_domain = self.domains_get(record, pre_validate)