Call on_modification on each Model with a replaced party

Closes #14684
This commit is contained in:
Nicolas Évrard
2026-03-16 18:42:56 +01:00
parent bcf8181107
commit 1c98320ccc
+8
View File
@@ -3,6 +3,7 @@
import logging
import re
from collections import defaultdict
import stdnum.exceptions
from sql import Column, Literal
@@ -1136,6 +1137,7 @@ class Replace(Wizard):
source.active = False
source.save()
models_changed = defaultdict(list)
cursor = transaction.connection.cursor()
for model_name, field_name in self.fields_to_replace():
Model = pool.get(model_name)
@@ -1167,6 +1169,12 @@ class Replace(Wizard):
ids = [x[0] for x in cursor]
Model._insert_history(ids)
models_changed[Model].append((field_name, ids))
for Model, modified_fields in models_changed.items():
for field_name, ids in modified_fields:
Model.on_modification('write', Model.browse(ids), {field_name})
return 'end'
@classmethod