langs = [lg.code for lg in self.pool.get('res.lang').browse(cr, uid, langs_ids, context=context)]
main_lang = 'en_US'
translatable_fields = []
- for f, info in trans_model._all_columns.items():
- if info.column.translate:
- if info.parent_model:
- parent_id = trans_model.read(cr, uid, [id], [info.parent_column], context=context)[0][info.parent_column][0]
- translatable_fields.append({ 'name': f, 'id': parent_id, 'model': info.parent_model })
+ for k, f in trans_model._fields.items():
+ if f.translate:
+ if f.inherited:
+ parent_id = trans_model.read(cr, uid, [id], [f.related[0]], context=context)[0][f.related[0]][0]
+ translatable_fields.append({'name': k, 'id': parent_id, 'model': f.base_field.model})
domain.insert(0, '|')
- domain.extend(['&', ('res_id', '=', parent_id), ('name', '=', "%s,%s" % (info.parent_model, f))])
+ domain.extend(['&', ('res_id', '=', parent_id), ('name', '=', "%s,%s" % (f.base_field.model, k))])
else:
- translatable_fields.append({ 'name': f, 'id': id, 'model': model })
+ translatable_fields.append({'name': k, 'id': id, 'model': model })
if len(langs):
fields = [f.get('name') for f in translatable_fields]
record = trans_model.read(cr, uid, [id], fields, context={ 'lang': main_lang })[0]
'domain': domain,
}
if field:
- info = trans_model._all_columns[field]
+ f = trans_model._fields[field]
action['context'] = {
- 'search_default_name': "%s,%s" % (info.parent_model or model, field)
+ 'search_default_name': "%s,%s" % (f.base_field.model, field)
}
return action