[REF] website, *: rename and simplify web_editor.context

* website_forum, website_gengo, website_mail_channel, website_sale

Following the new editor's merge at https://github.com/odoo/odoo/pull/29775,
the web_editor.context module was moved to website without being
renamed. This commit renames it to website.context but also merge the
website extension that was made to that context directly within its
definition.

closes odoo/odoo#30409
This commit is contained in:
Christophe Matthieu
2019-01-22 17:55:00 +00:00
committed by qsm-odoo
parent 6521cf4f66
commit cb7589aaa5
14 changed files with 35 additions and 48 deletions
@@ -1,10 +1,10 @@
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');
var wContext = require('website.context');
/**
* Element which is designed to be unique and that will be the top-most element
@@ -45,7 +45,7 @@ var BodyManager = rootWidget.RootWidget.extend(ServiceProviderMixin, {
if (_.str.startsWith(route, '/web/dataset/call_kw/')) {
var params = event.data.args[1];
var options = event.data.args[2];
params.kwargs.context = _.extend({}, weContext.get(), params.kwargs.context || {});
params.kwargs.context = _.extend({}, wContext.get(), params.kwargs.context || {});
if (options) {
params.kwargs.context = _.omit(params.kwargs.context, options.noContextKeys);
event.data.args[2] = _.omit(options, 'noContextKeys');
@@ -1,10 +1,11 @@
odoo.define('web_editor.context', function (require) {
odoo.define('website.context', function (require) {
'use strict';
function getContext(context) {
var html = document.documentElement;
return _.extend({
lang: (html.getAttribute('lang') || 'en_US').replace('-', '_'),
website_id: html.getAttribute('data-website-id') | 0,
}, context || {});
}
@@ -20,7 +20,7 @@ var core = require('web.core');
var Dialog = require('web.Dialog');
var utils = require('web.utils');
var BodyManager = require('web_editor.BodyManager');
var weContext = require('web_editor.context');
var wContext = require('website.context');
var rootWidget = require('web_editor.root_widget');
var sAnimation = require('website.content.snippets.animation');
require("website.content.zoomodoo");
@@ -31,7 +31,7 @@ var websiteRootRegistry = new rootWidget.RootWidgetRegistry();
// Load localizations outside the WebsiteRoot to not wait for DOM ready (but
// wait for them in WebsiteRoot)
var lang = utils.get_cookie('frontend_lang') || weContext.get().lang; // FIXME the cookie value should maybe be in the ctx?
var lang = utils.get_cookie('frontend_lang') || wContext.get().lang; // FIXME the cookie value should maybe be in the ctx?
var localeDef = ajax.loadJS('/web/webclient/locale/' + lang.replace('-', '_'));
var WebsiteRoot = BodyManager.extend({
@@ -4,7 +4,7 @@ odoo.define('website.editor.menu', function (require) {
var Dialog = require('web.Dialog');
var Widget = require('web.Widget');
var core = require('web.core');
var weContext = require('web_editor.context');
var wContext = require('website.context');
var WysiwygMultizone = require('web_editor.wysiwyg.multizone');
var _t = core._t;
@@ -150,9 +150,9 @@ var EditorMenu = Widget.extend({
return new WysiwygMultizone(this, {
snippets: 'website.snippets',
recordInfo: {
context: weContext.get(),
context: wContext.get(),
data_res_model: 'website',
data_res_id: weContext.get().website_id,
data_res_id: wContext.get().website_id,
}
});
},
@@ -5,7 +5,7 @@ require('web_editor.ready');
var core = require('web.core');
var Dialog = require('web.Dialog');
var localStorage = require('web.local_storage');
var weContext = require('web_editor.context');
var wContext = require('website.context');
var WysiwygTranslate = require('web_editor.wysiwyg.multizone.translate');
var EditorMenu = require('website.editor.menu');
@@ -96,7 +96,7 @@ var TranslatorMenu = EditorMenu.extend({
* @private
*/
_wysiwygInstance: function () {
return new WysiwygTranslate(this, {lang: lang || weContext.get().lang});
return new WysiwygTranslate(this, {lang: lang || wContext.get().lang});
},
});
+4 -4
View File
@@ -5,7 +5,7 @@ var Class = require('web.Class');
var core = require('web.core');
var Dialog = require('web.Dialog');
var time = require('web.time');
var weContext = require('web_editor.context');
var wContext = require('website.context');
var weWidgets = require('wysiwyg.widgets');
var websiteNavbarData = require('website.navbar');
var websiteRootData = require('website.WebsiteRoot');
@@ -195,7 +195,7 @@ var PagePropertiesDialog = weWidgets.Dialog.extend({
*/
save: function (data) {
var self = this;
var context = weContext.get();
var context = wContext.get();
var url = this.$('#page_url').val();
var $date_publish = this.$("#date_publish");
@@ -469,7 +469,7 @@ var EditMenuDialog = weWidgets.Dialog.extend({
willStart: function () {
var defs = [this._super.apply(this, arguments)];
var self = this;
var context = weContext.get();
var context = wContext.get();
defs.push(this._rpc({
model: 'website.menu',
method: 'get_tree',
@@ -516,7 +516,7 @@ var EditMenuDialog = weWidgets.Dialog.extend({
var new_menu = this.$('.oe_menu_editor').nestedSortable('toArray', {startDepthCount: 0});
var levels = [];
var data = [];
var context = weContext.get();
var context = wContext.get();
// Resequence, re-tree and remove useless data
new_menu.forEach(function (menu) {
if (menu.id) {
+2 -2
View File
@@ -2,7 +2,7 @@ odoo.define('website.editMenu', function (require) {
'use strict';
var core = require('web.core');
var weContext = require('web_editor.context');
var wContext = require('website.context');
var EditorMenu = require('website.editor.menu');
var websiteNavbarData = require('website.navbar');
@@ -31,7 +31,7 @@ var EditPageMenu = websiteNavbarData.WebsiteNavbarActionWidget.extend({
*/
init: function () {
this._super.apply(this, arguments);
this._editorAutoStart = (weContext.getExtra().editable && window.location.search.indexOf('enable_editor') >= 0);
this._editorAutoStart = (wContext.getExtra().editable && window.location.search.indexOf('enable_editor') >= 0);
},
/**
* Auto-starts the editor if necessary or add the welcome message otherwise.
+4 -4
View File
@@ -7,7 +7,7 @@ var Dialog = require('web.Dialog');
var mixins = require('web.mixins');
var rpc = require('web.rpc');
var Widget = require('web.Widget');
var weContext = require('web_editor.context');
var wContext = require('website.context');
var weWidgets = require('wysiwyg.widgets');
var websiteNavbarData = require('website.navbar');
@@ -49,7 +49,7 @@ var SuggestionList = Widget.extend({
refresh: function () {
var self = this;
self.$el.append(_t("Loading..."));
var language = self.language || weContext.get().lang.toLowerCase();
var language = self.language || wContext.get().lang.toLowerCase();
this._rpc({
route: '/website/seo_suggest',
params: {
@@ -478,11 +478,11 @@ var MetaKeywords = Widget.extend({
this._rpc({
model: 'website',
method: 'get_languages',
args: [[weContext.get().website_id]],
args: [[wContext.get().website_id]],
}).then( function (data) {
self.$('#language-box').html(core.qweb.render('Configurator.language_promote', {
'language': data,
'def_lang': weContext.get().lang
'def_lang': wContext.get().lang
}));
});
},
@@ -2,11 +2,11 @@ odoo.define('website.translateMenu', function (require) {
'use strict';
var utils = require('web.utils');
var weContext = require('web_editor.context');
var wContext = require('website.context');
var TranslatorMenu = require('website.editor.menu.translate');
var websiteNavbarData = require('website.navbar');
var ctx = weContext.getExtra();
var ctx = wContext.getExtra();
if (!ctx.translatable) {
return;
}
-14
View File
@@ -1,17 +1,3 @@
odoo.define('website.website', function (require) {
'use strict';
var weContext = require('web_editor.context');
var weGetContext = weContext.get;
weContext.get = function (context) {
var html = document.documentElement;
return _.extend({
website_id: html.getAttribute('data-website-id') | 0,
}, weGetContext(context), context);
};
});
odoo.define('website.website_modal', function (require) {
'use strict';
@@ -2,7 +2,7 @@ odoo.define('website_forum.website_forum', function (require) {
'use strict';
var core = require('web.core');
var weContext = require('web_editor.context');
var wContext = require('website.context');
var Wysiwyg = require('web_editor.wysiwyg');
var rootWidget = require('root.widget');
var sAnimations = require('website.content.snippets.animation');
@@ -144,7 +144,7 @@ sAnimations.registryObject.add('websiteForum', sAnimations.Class.extend({
toolbar: toolbar,
styleWithSpan: false,
recordInfo: {
context: weContext.get(),
context: wContext.get(),
res_model: 'forum.post',
res_id: +window.location.pathname.split('-').pop(),
},
@@ -5,13 +5,13 @@ var ajax = require('web.ajax');
var core = require('web.core');
var Dialog = require('web.Dialog');
var Widget = require('web.Widget');
var weContext = require('web_editor.context');
var wContext = require('website.context');
var WysiwygTranslate = require('web_editor.wysiwyg.multizone.translate');
var qweb = core.qweb;
var _t = core._t;
if (!weContext.getExtra().edit_translations) {
if (!wContext.getExtra().edit_translations) {
// Temporary hack until the editor bar is moved to the web client
return;
}
@@ -27,7 +27,7 @@ WysiwygTranslate.include({
var def = this._super.apply(this, arguments);
var gengo_langs = ["ar_SY","id_ID","nl_NL","fr_CA","pl_PL","zh_TW","sv_SE","ko_KR","pt_PT","en_US","ja_JP","es_ES","zh_CN","de_DE","fr_FR","fr_BE","ru_RU","it_IT","pt_BR","pt_BR","th_TH","nb_NO","ro_RO","tr_TR","bg_BG","da_DK","en_GB","el_GR","vi_VN","he_IL","hu_HU","fi_FI"];
if (gengo_langs.indexOf(weContext.get().lang) >= 0) {
if (gengo_langs.indexOf(wContext.get().lang) >= 0) {
this.$('.gengo_post,.gengo_wait,.gengo_inprogress,.gengo_info').remove();
this.$('button[data-action=save]')
.after(qweb.render('website.ButtonGengoTranslator'));
@@ -76,7 +76,7 @@ WysiwygTranslate.include({
});
ajax.jsonRpc('/website_gengo/set_translations', 'call', {
'data': trans,
'lang': weContext.get().lang,
'lang': wContext.get().lang,
}).then(function () {
ajax.jsonRpc('/website/post_gengo_jobs', 'call', {});
self._save();
@@ -100,7 +100,7 @@ WysiwygTranslate.include({
});
ajax.jsonRpc('/website/get_translated_length', 'call', {
'translated_ids': translated_ids,
'lang': weContext.get().lang,
'lang': wContext.get().lang,
}).done(function (res){
var dialog = new GengoTranslatorStatisticDialog(res);
dialog.appendTo($(document.body));
@@ -3,7 +3,7 @@ odoo.define('website_mail_channel.editor', function (require) {
var core = require('web.core');
var rpc = require('web.rpc');
var weContext = require('web_editor.context');
var wContext = require('website.context');
var options = require('web_editor.snippets.options');
var wUtils = require('website.utils');
@@ -21,7 +21,7 @@ options.registry.subscribe = options.Class.extend({
model: 'mail.channel',
method: 'name_search',
args: ['', [['public','=','public']]],
context: weContext.get(), // TODO use this._rpc
context: wContext.get(), // TODO use this._rpc
});
},
}).then(function (mail_channel_id) {
@@ -4,7 +4,7 @@ odoo.define('website_sale_options.website_sale', function (require) {
var core = require('web.core');
var _t = core._t;
var OptionalProductsModal = require('sale.OptionalProductsModal');
var weContext = require('web_editor.context');
var wContext = require('website.context');
var sAnimations = require('website.content.snippets.animation');
var ProductConfiguratorMixin = require('sale.ProductConfiguratorMixin');
require('website_sale.website_sale');
@@ -86,7 +86,7 @@ sAnimations.registry.WebsiteSaleOptions = sAnimations.Class.extend(ProductConfig
okButtonText: _t('Proceed to Checkout'),
cancelButtonText: _t('Continue Shopping'),
title: _t('Add to cart'),
context: weContext.get(),
context: wContext.get(),
}).open();
self.optionalProductsModal.on('options_empty', null, self._onModalOptionsEmpty.bind(self));
@@ -172,7 +172,7 @@ sAnimations.registry.WebsiteSaleOptions = sAnimations.Class.extend(ProductConfig
this.$form.ajaxSubmit({
url: '/shop/cart/update_option',
data: {
lang: weContext.get().lang,
lang: wContext.get().lang,
custom_values: customValues
},
success: function (quantity) {