30 lines
1.0 KiB
Diff
30 lines
1.0 KiB
Diff
|
# HG changeset patch
|
||
|
# User Sergi Almacellas Abellana <sergi@koolpi.com>
|
||
|
Fix copy of translated fields when records aren't read in order
|
||
|
|
||
|
issue4720
|
||
|
review9231002
|
||
|
|
||
|
Index: trytond/trytond/model/modelstorage.py
|
||
|
===================================================================
|
||
|
|
||
|
--- a/trytond/trytond/model/modelstorage.py
|
||
|
+++ b/trytond/trytond/model/modelstorage.py
|
||
|
@@ -301,11 +301,12 @@
|
||
|
if (not isinstance(f, fields.Function)
|
||
|
or isinstance(f, fields.Property))]
|
||
|
ids = map(int, records)
|
||
|
- datas = cls.read(ids, fields_names=fields_names)
|
||
|
+ datas = dict((d['id'], d) for d in cls.read(ids,
|
||
|
+ fields_names=fields_names))
|
||
|
field_defs = cls.fields_get(fields_names=fields_names)
|
||
|
to_create = []
|
||
|
- for data in datas:
|
||
|
- data = convert_data(field_defs, data)
|
||
|
+ for id in ids:
|
||
|
+ data = convert_data(field_defs, datas[id])
|
||
|
to_create.append(data)
|
||
|
new_records = cls.create(to_create)
|
||
|
new_ids = dict(izip(ids, map(int, new_records)))
|
||
|
|