summaryrefslogtreecommitdiff
path: root/addons/web_editor/models
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2017-06-26 14:04:04 +0200
committerChristophe Simonis <chs@odoo.com>2017-06-26 14:04:04 +0200
commite1c74e374c58dde38963fb61b6d46cb438cc95e0 (patch)
treee70dd9e9d08c90367aab57498bdef538134649b1 /addons/web_editor/models
parent59afea4c8293bd6cdc257db0676d9b70d193476e (diff)
parent3bac72ba74163a1ad9d5862f96e7de817aa08918 (diff)
[MERGE] forward port branch saas-14 up to 3bac72ba741
Diffstat (limited to 'addons/web_editor/models')
-rw-r--r--addons/web_editor/models/ir_ui_view.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/addons/web_editor/models/ir_ui_view.py b/addons/web_editor/models/ir_ui_view.py
index 2dc9cba0fdb..dc81b6a44d6 100644
--- a/addons/web_editor/models/ir_ui_view.py
+++ b/addons/web_editor/models/ir_ui_view.py
@@ -6,7 +6,7 @@ import logging
from lxml import etree, html
from odoo.exceptions import AccessError
-from odoo import api, models
+from odoo import api, fields, models
_logger = logging.getLogger(__name__)
@@ -34,6 +34,10 @@ class IrUiView(models.Model):
return arch.xpath('//*[@data-oe-model != "ir.ui.view"]')
@api.model
+ def get_default_lang_code(self):
+ return False
+
+ @api.model
def save_embedded_field(self, el):
Model = self.env[el.get('data-oe-model')]
field = el.get('data-oe-field')
@@ -44,7 +48,10 @@ class IrUiView(models.Model):
if value is not None:
# TODO: batch writes?
- Model.browse(int(el.get('data-oe-id'))).write({field: value})
+ if self.get_default_lang_code() and field != 'arch' and not isinstance(Model._fields[field], fields.Html):
+ Model.browse(int(el.get('data-oe-id'))).with_context(lang=self.get_default_lang_code()).write({field: value})
+ else:
+ Model.browse(int(el.get('data-oe-id'))).write({field: value})
def _pretty_arch(self, arch):
# remove_blank_string does not seem to work on HTMLParser, and