diff --git a/odoo/addons/base/ir/ir_translation.py b/odoo/addons/base/ir/ir_translation.py index 4cbd41b013a..bf580bbf3bf 100644 --- a/odoo/addons/base/ir/ir_translation.py +++ b/odoo/addons/base/ir/ir_translation.py @@ -47,7 +47,8 @@ class IrTranslationImport(object): # of ir_translation, so this copy will be much faster. query = """ CREATE TEMP TABLE %s ( imd_model VARCHAR(64), - imd_name VARCHAR(128) + imd_name VARCHAR(128), + noupdate BOOLEAN ) INHERITS (%s) """ % (self._table, self._model_table) self._cr.execute(query) @@ -104,7 +105,8 @@ class IrTranslationImport(object): # Step 1: resolve ir.model.data references to res_ids cr.execute(""" UPDATE %s AS ti - SET res_id = imd.res_id + SET res_id = imd.res_id, + noupdate = imd.noupdate FROM ir_model_data AS imd WHERE ti.res_id IS NULL AND ti.module IS NOT NULL AND ti.imd_name IS NOT NULL @@ -150,7 +152,10 @@ class IrTranslationImport(object): src = ti.src, state = 'translated' FROM %s AS ti - WHERE %s AND ti.value IS NOT NULL AND ti.value != '' + WHERE %s + AND ti.value IS NOT NULL + AND ti.value != '' + AND noupdate IS NOT TRUE """ % (self._model_table, self._table, find_expr), (tuple(src_relevant_fields), tuple(src_relevant_fields)))