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

Closes #13971
(grafted from e38f22986aac2e37fa5b2ca448152f49698475e6)

--HG--
branch : 6.0
This commit is contained in:
Nicolas Évrard committed 2025-04-15 16:14:37 +02:00
1 parent f2d672eb78
commit b02be9ab3d
2 files changed
+9 -2

No files matched your search

+5 -1
View File
@@ -2424,7 +2424,11 @@
}
var 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);
}
});
}
@@ -825,7 +825,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)