diff --git a/addons/website/static/src/js/content/body_manager.js b/addons/website/static/src/js/content/body_manager.js index 1045e94a65a..c41ddb8fde0 100644 --- a/addons/website/static/src/js/content/body_manager.js +++ b/addons/website/static/src/js/content/body_manager.js @@ -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'); diff --git a/addons/website/static/src/js/content/context.js b/addons/website/static/src/js/content/context.js index b76e7cb403d..671ad345e65 100644 --- a/addons/website/static/src/js/content/context.js +++ b/addons/website/static/src/js/content/context.js @@ -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 || {}); } diff --git a/addons/website/static/src/js/content/website_root.js b/addons/website/static/src/js/content/website_root.js index b9f3bfe25e9..330e70567e7 100644 --- a/addons/website/static/src/js/content/website_root.js +++ b/addons/website/static/src/js/content/website_root.js @@ -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({ diff --git a/addons/website/static/src/js/editor/editor_menu.js b/addons/website/static/src/js/editor/editor_menu.js index 996b6b99e9c..e1020b1d444 100644 --- a/addons/website/static/src/js/editor/editor_menu.js +++ b/addons/website/static/src/js/editor/editor_menu.js @@ -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, } }); }, diff --git a/addons/website/static/src/js/editor/editor_menu_translate.js b/addons/website/static/src/js/editor/editor_menu_translate.js index a99c0c1bc72..2218e4cdda6 100644 --- a/addons/website/static/src/js/editor/editor_menu_translate.js +++ b/addons/website/static/src/js/editor/editor_menu_translate.js @@ -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}); }, }); diff --git a/addons/website/static/src/js/menu/content.js b/addons/website/static/src/js/menu/content.js index 1b9833432fe..a75ec82ba87 100644 --- a/addons/website/static/src/js/menu/content.js +++ b/addons/website/static/src/js/menu/content.js @@ -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) { diff --git a/addons/website/static/src/js/menu/edit.js b/addons/website/static/src/js/menu/edit.js index 98322d9e092..4f49e55c2f5 100644 --- a/addons/website/static/src/js/menu/edit.js +++ b/addons/website/static/src/js/menu/edit.js @@ -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. diff --git a/addons/website/static/src/js/menu/seo.js b/addons/website/static/src/js/menu/seo.js index a136d59b628..981d8e1ad75 100644 --- a/addons/website/static/src/js/menu/seo.js +++ b/addons/website/static/src/js/menu/seo.js @@ -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 })); }); }, diff --git a/addons/website/static/src/js/menu/translate.js b/addons/website/static/src/js/menu/translate.js index 9c6c6312a13..90a60250355 100644 --- a/addons/website/static/src/js/menu/translate.js +++ b/addons/website/static/src/js/menu/translate.js @@ -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; } diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js index 8cc79e2c0c7..66b410ee3c0 100644 --- a/addons/website/static/src/js/website.js +++ b/addons/website/static/src/js/website.js @@ -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'; diff --git a/addons/website_forum/static/src/js/website_forum.js b/addons/website_forum/static/src/js/website_forum.js index d8aa5f4c9b2..6e9f3577cf1 100644 --- a/addons/website_forum/static/src/js/website_forum.js +++ b/addons/website_forum/static/src/js/website_forum.js @@ -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(), }, diff --git a/addons/website_gengo/static/src/js/website_gengo.js b/addons/website_gengo/static/src/js/website_gengo.js index 685a41ea945..03d9014b2b1 100644 --- a/addons/website_gengo/static/src/js/website_gengo.js +++ b/addons/website_gengo/static/src/js/website_gengo.js @@ -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)); diff --git a/addons/website_mail_channel/static/src/js/website_mail_channel.editor.js b/addons/website_mail_channel/static/src/js/website_mail_channel.editor.js index a0d7b282ad7..dfa25fe06e8 100644 --- a/addons/website_mail_channel/static/src/js/website_mail_channel.editor.js +++ b/addons/website_mail_channel/static/src/js/website_mail_channel.editor.js @@ -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) { diff --git a/addons/website_sale/static/src/js/website_sale_options.js b/addons/website_sale/static/src/js/website_sale_options.js index 9390eccf31e..0f61f48454e 100644 --- a/addons/website_sale/static/src/js/website_sale_options.js +++ b/addons/website_sale/static/src/js/website_sale_options.js @@ -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) {