@@ -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
|
||||
|
||||
Reference in New Issue
Block a user