diff --git a/addons/web_editor/models/ir_ui_view.py b/addons/web_editor/models/ir_ui_view.py index dd7501c44f9..0f326f2e19a 100644 --- a/addons/web_editor/models/ir_ui_view.py +++ b/addons/web_editor/models/ir_ui_view.py @@ -35,12 +35,18 @@ class view(osv.osv): def extract_embedded_fields(self, cr, uid, arch, context=None): return arch.xpath('//*[@data-oe-model != "ir.ui.view"]') + + def get_default_lang_code(self, cr, uid, context=None): + return False + def save_embedded_field(self, cr, uid, el, context=None): Model = self.pool[el.get('data-oe-model')] field = el.get('data-oe-field') converter = self.pool['ir.qweb'].get_converter_for(el.get('data-oe-type')) value = converter.from_html(cr, uid, Model, Model._fields[field], el) + if context and not context.get('lang'): + context['lang'] = self.get_default_lang_code(cr, uid, context=context) if value is not None: # TODO: batch writes? diff --git a/addons/website/models/ir_ui_view.py b/addons/website/models/ir_ui_view.py index 4df13b22c85..01246baaf01 100644 --- a/addons/website/models/ir_ui_view.py +++ b/addons/website/models/ir_ui_view.py @@ -228,3 +228,10 @@ class view(osv.osv): 'active': v.active, }) return result + + def get_default_lang_code(self, cr, uid, context): + website_id = context['website_id'] + if website_id: + return self.pool['website'].browse(cr, uid, website_id, context=context).default_lang_code + else: + return super(view, self).get_default_lang_code(cr, uid, context=context)