summaryrefslogtreecommitdiff
path: root/addons/web_editor/static/src
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web_editor/static/src')
-rw-r--r--addons/web_editor/static/src/js/content/body_manager.js22
-rw-r--r--addons/web_editor/static/src/js/editor/rte.js2
-rw-r--r--addons/web_editor/static/src/js/editor/snippets.options.js2
-rw-r--r--addons/web_editor/static/src/js/editor/translator.js8
-rw-r--r--addons/web_editor/static/src/js/widgets/ace.js3
5 files changed, 29 insertions, 8 deletions
diff --git a/addons/web_editor/static/src/js/content/body_manager.js b/addons/web_editor/static/src/js/content/body_manager.js
index 2291aa1d4db..85ace262fc5 100644
--- a/addons/web_editor/static/src/js/content/body_manager.js
+++ b/addons/web_editor/static/src/js/content/body_manager.js
@@ -1,6 +1,7 @@
odoo.define('web_editor.BodyManager', function (require) {
'use strict';
+var weContext = require('web_editor.context');
var rootWidget = require('web_editor.root_widget');
var ServiceProviderMixin = require('web.ServiceProviderMixin');
var session = require('web.session');
@@ -28,6 +29,27 @@ var BodyManager = rootWidget.RootWidget.extend(ServiceProviderMixin, {
session.is_bound
);
},
+
+ //--------------------------------------------------------------------------
+ // Private
+ //--------------------------------------------------------------------------
+
+ /**
+ * Automatically add the web_editor context.
+ *
+ * @override
+ */
+ _call_service: function (event) {
+ if (event.data.service === 'ajax' && event.data.method === 'rpc') {
+ var route = event.data.args[0];
+ if (_.str.startsWith(route, '/web/dataset/call_kw/')) {
+ var params = event.data.args[1];
+ params.kwargs.context = _.extend({}, weContext.get(), params.kwargs.context || {});
+ params.kwargs.context = JSON.parse(JSON.stringify(params.kwargs.context));
+ }
+ }
+ return ServiceProviderMixin._call_service.apply(this, arguments);
+ },
});
return BodyManager;
});
diff --git a/addons/web_editor/static/src/js/editor/rte.js b/addons/web_editor/static/src/js/editor/rte.js
index 11001cc7a06..8719779c079 100644
--- a/addons/web_editor/static/src/js/editor/rte.js
+++ b/addons/web_editor/static/src/js/editor/rte.js
@@ -573,8 +573,8 @@ var RTEWidget = Widget.extend({
$el.data('oe-id'),
this._getEscapedElement($el).prop('outerHTML'),
$el.data('oe-xpath') || null,
- withLang ? context : _.omit(context, 'lang')
],
+ context: withLang ? context : _.extend({}, context, {lang: undefined}),
});
},
diff --git a/addons/web_editor/static/src/js/editor/snippets.options.js b/addons/web_editor/static/src/js/editor/snippets.options.js
index ab82d34a23b..aed0ca91a66 100644
--- a/addons/web_editor/static/src/js/editor/snippets.options.js
+++ b/addons/web_editor/static/src/js/editor/snippets.options.js
@@ -1236,7 +1236,6 @@ registry.many2one = SnippetOption.extend({
kwargs: {
order: [{name: 'name', asc: false}],
limit: 5,
- context: weContext.get(),
},
}).then(function (result) {
self.$search.siblings().remove();
@@ -1275,7 +1274,6 @@ registry.many2one = SnippetOption.extend({
args: [[self.ID]],
kwargs: {
options: options,
- context: weContext.get(),
},
}).then(function (html) {
$node.html(html);
diff --git a/addons/web_editor/static/src/js/editor/translator.js b/addons/web_editor/static/src/js/editor/translator.js
index cf9b0a0b085..c6cadb40562 100644
--- a/addons/web_editor/static/src/js/editor/translator.js
+++ b/addons/web_editor/static/src/js/editor/translator.js
@@ -34,12 +34,12 @@ var RTETranslatorWidget = rte.Class.extend({
method: 'save_html',
args: [
[+$el.data('oe-translation-id')],
- this._getEscapedElement($el).html(),
- context || weContext.get()
+ this._getEscapedElement($el).html()
],
+ context: context,
}).fail(function (error) {
- Dialog.alert(null, error.data.message);
- });
+ Dialog.alert(null, error.data.message);
+ });
}
return this._super($el, context, withLang === undefined ? true : withLang);
},
diff --git a/addons/web_editor/static/src/js/widgets/ace.js b/addons/web_editor/static/src/js/widgets/ace.js
index c6cbb43295f..bd5b4a9c47a 100644
--- a/addons/web_editor/static/src/js/widgets/ace.js
+++ b/addons/web_editor/static/src/js/widgets/ace.js
@@ -593,7 +593,8 @@ var ViewEditor = Widget.extend({
this._rpc({
model: 'ir.ui.view',
method: 'write',
- args: [[session.id], {arch: session.text}, _.extend(weContext.get(), {lang: null})],
+ args: [[session.id], {arch: session.text}],
+ context: _.extend({}, weContext.get(), {lang: undefined}),
}).then(function () {
self._toggleDirtyInfo(session.id, 'xml', false);
def.resolve();