[REF] website, *: remove 'website.context' module
* website_forum, website_gengo, website_mail_channel, website_sale Retrieving the global context is now the root's job, this will prevent problems when trying to extend the values the context has. See upcoming improvements with https://github.com/odoo/odoo/pull/29442 closes odoo/odoo#30816
This commit is contained in:
@@ -1,25 +0,0 @@
|
||||
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 || {});
|
||||
}
|
||||
|
||||
function getExtraContext(context) {
|
||||
var html = document.documentElement;
|
||||
return _.extend(getContext(), {
|
||||
editable: !!(html.dataset.editable || $('[data-oe-model]').length), // temporary hack, this should be done in python
|
||||
translatable: !!html.dataset.translatable,
|
||||
edit_translations: !!html.dataset.edit_translations,
|
||||
}, context || {});
|
||||
}
|
||||
|
||||
return {
|
||||
get: getContext,
|
||||
getExtra: getExtraContext,
|
||||
};
|
||||
});
|
||||
@@ -487,6 +487,23 @@ var Animation = Widget.extend({
|
||||
new AnimationEffect(this, updateCallback, startEvents, $startTarget, options)
|
||||
);
|
||||
},
|
||||
/**
|
||||
* @private
|
||||
* @param {boolean} [extra=false]
|
||||
* @param {Object} [extraContext]
|
||||
* @returns {Object}
|
||||
*/
|
||||
_getContext: function (extra, extraContext) {
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
extra: extra || false,
|
||||
context: extraContext,
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
return context;
|
||||
},
|
||||
});
|
||||
|
||||
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
|
||||
@@ -22,7 +22,6 @@ var ServiceProviderMixin = require('web.ServiceProviderMixin');
|
||||
var session = require('web.session');
|
||||
var utils = require('web.utils');
|
||||
var rootWidget = require('web_editor.root_widget');
|
||||
var wContext = require('website.context');
|
||||
var sAnimation = require('website.content.snippets.animation');
|
||||
require("website.content.zoomodoo");
|
||||
|
||||
@@ -32,7 +31,11 @@ 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') || wContext.get().lang; // FIXME the cookie value should maybe be in the ctx?
|
||||
function getLang() {
|
||||
var html = document.documentElement;
|
||||
return (html.getAttribute('lang') || 'en_US').replace('-', '_');
|
||||
}
|
||||
var lang = utils.get_cookie('frontend_lang') || getLang(); // FIXME the cookie value should maybe be in the ctx?
|
||||
var localeDef = ajax.loadJS('/web/webclient/locale/' + lang.replace('-', '_'));
|
||||
|
||||
/**
|
||||
@@ -53,6 +56,7 @@ var WebsiteRoot = rootWidget.RootWidget.extend(ServiceProviderMixin, {
|
||||
custom_events: _.extend({}, rootWidget.RootWidget.prototype.custom_events || {}, {
|
||||
animation_start_demand: '_onAnimationStartDemand',
|
||||
animation_stop_demand: '_onAnimationStopDemand',
|
||||
context_get: '_onContextGet',
|
||||
main_object_request: '_onMainObjectRequest',
|
||||
ready_to_clean_for_save: '_onAnimationStopDemand',
|
||||
}),
|
||||
@@ -138,7 +142,7 @@ var WebsiteRoot = rootWidget.RootWidget.extend(ServiceProviderMixin, {
|
||||
if (_.str.startsWith(route, '/web/dataset/call_kw/')) {
|
||||
var params = ev.data.args[1];
|
||||
var options = ev.data.args[2];
|
||||
params.kwargs.context = _.extend({}, wContext.get(), params.kwargs.context || {});
|
||||
params.kwargs.context = _.extend({}, this._getContext(), params.kwargs.context || {});
|
||||
if (options) {
|
||||
params.kwargs.context = _.omit(params.kwargs.context, options.noContextKeys);
|
||||
ev.data.args[2] = _.omit(options, 'noContextKeys');
|
||||
@@ -148,6 +152,38 @@ var WebsiteRoot = rootWidget.RootWidget.extend(ServiceProviderMixin, {
|
||||
}
|
||||
return ServiceProviderMixin._call_service.apply(this, arguments);
|
||||
},
|
||||
/**
|
||||
* Retrieves the global context of the public environment. This is the
|
||||
* context which is automatically added to each RPC.
|
||||
*
|
||||
* @private
|
||||
* @param {Object} [context]
|
||||
* @returns {Object}
|
||||
*/
|
||||
_getContext: function (context) {
|
||||
var html = document.documentElement;
|
||||
return _.extend({
|
||||
'lang': getLang(),
|
||||
'website_id': html.getAttribute('data-website-id') | 0,
|
||||
}, context || {});
|
||||
},
|
||||
/**
|
||||
* Retrieves the global context of the public environment (as
|
||||
* @see _getContext) but with extra informations that would be useless to
|
||||
* send with each RPC.
|
||||
*
|
||||
* @private
|
||||
* @param {Object} [context]
|
||||
* @returns {Object}
|
||||
*/
|
||||
_getExtraContext: function (context) {
|
||||
var html = document.documentElement;
|
||||
return _.extend(this._getContext(), {
|
||||
'editable': !!(html.dataset.editable || $('[data-oe-model]').length), // temporary hack, this should be done in python
|
||||
'translatable': !!html.dataset.translatable,
|
||||
'edit_translations': !!html.dataset.edit_translations,
|
||||
}, context || {});
|
||||
},
|
||||
/**
|
||||
* As the WebsiteRoot instance is designed to be unique, the associated
|
||||
* registry has been instantiated outside of the class and is simply
|
||||
@@ -242,6 +278,19 @@ var WebsiteRoot = rootWidget.RootWidget.extend(ServiceProviderMixin, {
|
||||
_onAnimationStopDemand: function (ev) {
|
||||
this._stopAnimations(ev.data.$target);
|
||||
},
|
||||
/**
|
||||
* Called when someone asked for the global public context.
|
||||
*
|
||||
* @private
|
||||
* @param {OdooEvent} ev
|
||||
*/
|
||||
_onContextGet: function (ev) {
|
||||
if (ev.data.extra) {
|
||||
ev.data.callback(this._getExtraContext(ev.data.context));
|
||||
} else {
|
||||
ev.data.callback(this._getContext(ev.data.context));
|
||||
}
|
||||
},
|
||||
/**
|
||||
* @todo review
|
||||
* @private
|
||||
|
||||
@@ -4,7 +4,6 @@ odoo.define('website.editor.menu', function (require) {
|
||||
var Dialog = require('web.Dialog');
|
||||
var Widget = require('web.Widget');
|
||||
var core = require('web.core');
|
||||
var wContext = require('website.context');
|
||||
var WysiwygMultizone = require('web_editor.wysiwyg.multizone');
|
||||
|
||||
var _t = core._t;
|
||||
@@ -147,12 +146,18 @@ var EditorMenu = Widget.extend({
|
||||
* @private
|
||||
*/
|
||||
_wysiwygInstance: function () {
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
return new WysiwygMultizone(this, {
|
||||
snippets: 'website.snippets',
|
||||
recordInfo: {
|
||||
context: wContext.get(),
|
||||
context: context,
|
||||
data_res_model: 'website',
|
||||
data_res_id: wContext.get().website_id,
|
||||
data_res_id: context.website_id,
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -5,15 +5,9 @@ require('web.dom_ready');
|
||||
var core = require('web.core');
|
||||
var Dialog = require('web.Dialog');
|
||||
var localStorage = require('web.local_storage');
|
||||
var wContext = require('website.context');
|
||||
var WysiwygTranslate = require('web_editor.wysiwyg.multizone.translate');
|
||||
var EditorMenu = require('website.editor.menu');
|
||||
|
||||
var lang = $('html').attr('lang').replace('-', '_');
|
||||
if ($('.js_change_lang[data-lang="' + lang + '"]').data('default-lang')) {
|
||||
return $.Deferred().reject("It's the default language");
|
||||
}
|
||||
|
||||
var _t = core._t;
|
||||
|
||||
var localStorageNoDialogKey = 'website_translator_nodialog';
|
||||
@@ -95,10 +89,15 @@ var TranslatorMenu = EditorMenu.extend({
|
||||
* @private
|
||||
*/
|
||||
_wysiwygInstance: function () {
|
||||
return new WysiwygTranslate(this, {lang: lang || wContext.get().lang});
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
return new WysiwygTranslate(this, {lang: context.lang});
|
||||
},
|
||||
});
|
||||
|
||||
return TranslatorMenu;
|
||||
|
||||
});
|
||||
|
||||
@@ -5,7 +5,6 @@ var Class = require('web.Class');
|
||||
var core = require('web.core');
|
||||
var Dialog = require('web.Dialog');
|
||||
var time = require('web.time');
|
||||
var wContext = require('website.context');
|
||||
var weWidgets = require('wysiwyg.widgets');
|
||||
var websiteNavbarData = require('website.navbar');
|
||||
var websiteRootData = require('website.WebsiteRoot');
|
||||
@@ -195,7 +194,12 @@ var PagePropertiesDialog = weWidgets.Dialog.extend({
|
||||
*/
|
||||
save: function (data) {
|
||||
var self = this;
|
||||
var context = wContext.get();
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
var url = this.$('#page_url').val();
|
||||
|
||||
var $date_publish = this.$("#date_publish");
|
||||
@@ -469,7 +473,12 @@ var EditMenuDialog = weWidgets.Dialog.extend({
|
||||
willStart: function () {
|
||||
var defs = [this._super.apply(this, arguments)];
|
||||
var self = this;
|
||||
var context = wContext.get();
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
defs.push(this._rpc({
|
||||
model: 'website.menu',
|
||||
method: 'get_tree',
|
||||
@@ -516,7 +525,12 @@ var EditMenuDialog = weWidgets.Dialog.extend({
|
||||
var new_menu = this.$('.oe_menu_editor').nestedSortable('toArray', {startDepthCount: 0});
|
||||
var levels = [];
|
||||
var data = [];
|
||||
var context = wContext.get();
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
// Resequence, re-tree and remove useless data
|
||||
new_menu.forEach(function (menu) {
|
||||
if (menu.id) {
|
||||
|
||||
@@ -2,7 +2,6 @@ odoo.define('website.editMenu', function (require) {
|
||||
'use strict';
|
||||
|
||||
var core = require('web.core');
|
||||
var wContext = require('website.context');
|
||||
var EditorMenu = require('website.editor.menu');
|
||||
var websiteNavbarData = require('website.navbar');
|
||||
|
||||
@@ -31,7 +30,14 @@ var EditPageMenu = websiteNavbarData.WebsiteNavbarActionWidget.extend({
|
||||
*/
|
||||
init: function () {
|
||||
this._super.apply(this, arguments);
|
||||
this._editorAutoStart = (wContext.getExtra().editable && window.location.search.indexOf('enable_editor') >= 0);
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
extra: true,
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
this._editorAutoStart = (context.editable && window.location.search.indexOf('enable_editor') >= 0);
|
||||
},
|
||||
/**
|
||||
* Auto-starts the editor if necessary or add the welcome message otherwise.
|
||||
|
||||
@@ -7,7 +7,6 @@ var Dialog = require('web.Dialog');
|
||||
var mixins = require('web.mixins');
|
||||
var rpc = require('web.rpc');
|
||||
var Widget = require('web.Widget');
|
||||
var wContext = require('website.context');
|
||||
var weWidgets = require('wysiwyg.widgets');
|
||||
var websiteNavbarData = require('website.navbar');
|
||||
|
||||
@@ -49,7 +48,13 @@ var SuggestionList = Widget.extend({
|
||||
refresh: function () {
|
||||
var self = this;
|
||||
self.$el.append(_t("Loading..."));
|
||||
var language = self.language || wContext.get().lang.toLowerCase();
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
var language = self.language || context.lang.toLowerCase();
|
||||
this._rpc({
|
||||
route: '/website/seo_suggest',
|
||||
params: {
|
||||
@@ -475,14 +480,20 @@ var MetaKeywords = Widget.extend({
|
||||
},
|
||||
_getLanguages: function () {
|
||||
var self = this;
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
this._rpc({
|
||||
model: 'website',
|
||||
method: 'get_languages',
|
||||
args: [[wContext.get().website_id]],
|
||||
args: [[context.website_id]],
|
||||
}).then( function (data) {
|
||||
self.$('#language-box').html(core.qweb.render('Configurator.language_promote', {
|
||||
'language': data,
|
||||
'def_lang': wContext.get().lang
|
||||
'def_lang': context.lang
|
||||
}));
|
||||
});
|
||||
},
|
||||
|
||||
@@ -2,15 +2,9 @@ odoo.define('website.translateMenu', function (require) {
|
||||
'use strict';
|
||||
|
||||
var utils = require('web.utils');
|
||||
var wContext = require('website.context');
|
||||
var TranslatorMenu = require('website.editor.menu.translate');
|
||||
var websiteNavbarData = require('website.navbar');
|
||||
|
||||
var ctx = wContext.getExtra();
|
||||
if (!ctx.translatable) {
|
||||
return;
|
||||
}
|
||||
|
||||
var TranslatePageMenu = websiteNavbarData.WebsiteNavbarActionWidget.extend({
|
||||
actions: _.extend({}, websiteNavbarData.WebsiteNavbar.prototype.actions || {}, {
|
||||
edit_master: '_goToMasterPage',
|
||||
@@ -21,7 +15,15 @@ var TranslatePageMenu = websiteNavbarData.WebsiteNavbarActionWidget.extend({
|
||||
* @override
|
||||
*/
|
||||
start: function () {
|
||||
if (ctx.edit_translations) {
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
extra: true,
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
this._mustEditTranslations = context.edit_translations;
|
||||
if (this._mustEditTranslations) {
|
||||
this._startTranslateMode();
|
||||
}
|
||||
return this._super.apply(this, arguments);
|
||||
@@ -63,7 +65,7 @@ var TranslatePageMenu = websiteNavbarData.WebsiteNavbarActionWidget.extend({
|
||||
* @returns {Deferred}
|
||||
*/
|
||||
_startTranslateMode: function () {
|
||||
if (!ctx.edit_translations) {
|
||||
if (!this._mustEditTranslations) {
|
||||
window.location.search += '&edit_translations';
|
||||
return $.Deferred();
|
||||
}
|
||||
@@ -72,5 +74,5 @@ var TranslatePageMenu = websiteNavbarData.WebsiteNavbarActionWidget.extend({
|
||||
},
|
||||
});
|
||||
|
||||
websiteNavbarData.websiteNavbarRegistry.add(TranslatePageMenu, '.o_menu_systray');
|
||||
websiteNavbarData.websiteNavbarRegistry.add(TranslatePageMenu, '.o_menu_systray:has([data-action="translate"])');
|
||||
});
|
||||
|
||||
@@ -2,7 +2,6 @@ odoo.define("website.ace", function (require) {
|
||||
"use strict";
|
||||
|
||||
var AceEditor = require('web_editor.ace');
|
||||
var weContext = require('website.context');
|
||||
|
||||
/**
|
||||
* Extends the default view editor so that the URL hash is updated with view ID
|
||||
@@ -45,7 +44,12 @@ var WebsiteAceEditor = AceEditor.extend({
|
||||
// When saving a generic view, the view will be COW'd and
|
||||
// replace by the specific view after the reload. Thus the id in
|
||||
// URL won't exist anymore. We need to find the specific ID.
|
||||
var context = weContext.get();
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
defs.push(this._rpc({
|
||||
model: 'ir.ui.view',
|
||||
method: 'search_read',
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
<script type="text/javascript" src="/website/static/src/js/utils.js"/>
|
||||
<script type="text/javascript" src="/website/static/src/js/website.js"/>
|
||||
|
||||
<script type="text/javascript" src="/website/static/src/js/content/context.js"/>
|
||||
<script type="text/javascript" src="/website/static/src/js/content/compatibility.js"/>
|
||||
<script type="text/javascript" src="/website/static/src/js/content/lazy_template_call.js"/>
|
||||
<script type="text/javascript" src="/website/static/src/js/content/menu.js"/>
|
||||
|
||||
@@ -2,7 +2,6 @@ odoo.define('website_forum.website_forum', function (require) {
|
||||
'use strict';
|
||||
|
||||
var core = require('web.core');
|
||||
var wContext = require('website.context');
|
||||
var Wysiwyg = require('web_editor.wysiwyg');
|
||||
var sAnimations = require('website.content.snippets.animation');
|
||||
var session = require('web.session');
|
||||
@@ -138,7 +137,7 @@ sAnimations.registry.websiteForum = sAnimations.Class.extend({
|
||||
toolbar: toolbar,
|
||||
styleWithSpan: false,
|
||||
recordInfo: {
|
||||
context: wContext.get(),
|
||||
context: self._getContext(),
|
||||
res_model: 'forum.post',
|
||||
res_id: +window.location.pathname.split('-').pop(),
|
||||
},
|
||||
|
||||
@@ -5,20 +5,14 @@ var ajax = require('web.ajax');
|
||||
var core = require('web.core');
|
||||
var Dialog = require('web.Dialog');
|
||||
var Widget = require('web.Widget');
|
||||
var wContext = require('website.context');
|
||||
var WysiwygTranslate = require('web_editor.wysiwyg.multizone.translate');
|
||||
|
||||
var qweb = core.qweb;
|
||||
var _t = core._t;
|
||||
|
||||
if (!wContext.getExtra().edit_translations) {
|
||||
// Temporary hack until the editor bar is moved to the web client
|
||||
return;
|
||||
}
|
||||
|
||||
ajax.loadXML('/website_gengo/static/src/xml/website.gengo.xml', qweb);
|
||||
|
||||
WysiwygTranslate.include({
|
||||
xmlDependencies: (WysiwygTranslate.prototype.xmlDependencies || [])
|
||||
.concat(['/website_gengo/static/src/xml/website.gengo.xml']),
|
||||
events: _.extend({}, WysiwygTranslate.prototype.events, {
|
||||
'click a[data-action=translation_gengo_post]': 'translation_gengo_post',
|
||||
'click a[data-action=translation_gengo_info]': 'translation_gengo_info',
|
||||
@@ -26,8 +20,14 @@ WysiwygTranslate.include({
|
||||
start: function () {
|
||||
var def = this._super.apply(this, arguments);
|
||||
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
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(wContext.get().lang) >= 0) {
|
||||
if (gengo_langs.indexOf(context.lang) >= 0) {
|
||||
this.$('.gengo_post,.gengo_wait,.gengo_inprogress,.gengo_info').remove();
|
||||
this.$('button[data-action=save]')
|
||||
.after(qweb.render('website.ButtonGengoTranslator'));
|
||||
@@ -50,6 +50,12 @@ WysiwygTranslate.include({
|
||||
$('[data-oe-translation-state="to_translate"], [data-oe-translation-state="None"]').each(function () {
|
||||
self.new_words += $(this).text().trim().replace(/ +/g," ").split(" ").length;
|
||||
});
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
ajax.jsonRpc('/website/check_gengo_set', 'call', {
|
||||
}).then(function (res) {
|
||||
var dialog;
|
||||
@@ -76,7 +82,7 @@ WysiwygTranslate.include({
|
||||
});
|
||||
ajax.jsonRpc('/website_gengo/set_translations', 'call', {
|
||||
'data': trans,
|
||||
'lang': wContext.get().lang,
|
||||
'lang': context.lang,
|
||||
}).then(function () {
|
||||
ajax.jsonRpc('/website/post_gengo_jobs', 'call', {});
|
||||
self._save();
|
||||
@@ -98,9 +104,15 @@ WysiwygTranslate.include({
|
||||
$('[data-oe-translation-state="translated"]').each(function () {
|
||||
translated_ids.push($(this).attr('data-oe-translation-id'));
|
||||
});
|
||||
var context;
|
||||
this.trigger_up('context_get', {
|
||||
callback: function (ctx) {
|
||||
context = ctx;
|
||||
},
|
||||
});
|
||||
ajax.jsonRpc('/website/get_translated_length', 'call', {
|
||||
'translated_ids': translated_ids,
|
||||
'lang': wContext.get().lang,
|
||||
'lang': context.lang,
|
||||
}).done(function (res){
|
||||
var dialog = new GengoTranslatorStatisticDialog(res);
|
||||
dialog.appendTo($(document.body));
|
||||
@@ -109,6 +121,7 @@ WysiwygTranslate.include({
|
||||
});
|
||||
|
||||
var GengoTranslatorPostDialog = Widget.extend({
|
||||
xmlDependencies: ['/website_gengo/static/src/xml/website.gengo.xml'],
|
||||
events: {
|
||||
'hidden.bs.modal': 'destroy',
|
||||
'click button[data-action=service_level]': function () {
|
||||
@@ -126,6 +139,7 @@ var GengoTranslatorPostDialog = Widget.extend({
|
||||
});
|
||||
|
||||
var GengoTranslatorStatisticDialog = Widget.extend({
|
||||
xmlDependencies: ['/website_gengo/static/src/xml/website.gengo.xml'],
|
||||
events: {
|
||||
'hidden.bs.modal': 'destroy',
|
||||
},
|
||||
@@ -150,6 +164,7 @@ var GengoTranslatorStatisticDialog = Widget.extend({
|
||||
});
|
||||
|
||||
var GengoApiConfigDialog = Widget.extend({
|
||||
xmlDependencies: ['/website_gengo/static/src/xml/website.gengo.xml'],
|
||||
events: {
|
||||
'hidden.bs.modal': 'destroy',
|
||||
'click button[data-action=set_config]': 'set_config'
|
||||
|
||||
@@ -2,8 +2,6 @@ odoo.define('website_mail_channel.editor', function (require) {
|
||||
'use strict';
|
||||
|
||||
var core = require('web.core');
|
||||
var rpc = require('web.rpc');
|
||||
var wContext = require('website.context');
|
||||
var options = require('web_editor.snippets.options');
|
||||
var wUtils = require('website.utils');
|
||||
|
||||
@@ -17,12 +15,11 @@ options.registry.subscribe = options.Class.extend({
|
||||
window_title: _t("Add a Subscribe Button"),
|
||||
select: _t("Discussion List"),
|
||||
init: function (field) {
|
||||
return rpc.query({
|
||||
model: 'mail.channel',
|
||||
method: 'name_search',
|
||||
args: ['', [['public','=','public']]],
|
||||
context: wContext.get(), // TODO use this._rpc
|
||||
});
|
||||
return self._rpc({
|
||||
model: 'mail.channel',
|
||||
method: 'name_search',
|
||||
args: ['', [['public', '=', 'public']]],
|
||||
});
|
||||
},
|
||||
}).then(function (mail_channel_id) {
|
||||
self.$target.attr("data-id", mail_channel_id);
|
||||
|
||||
@@ -4,7 +4,6 @@ odoo.define('website_sale_options.website_sale', function (require) {
|
||||
var core = require('web.core');
|
||||
var _t = core._t;
|
||||
var OptionalProductsModal = require('sale.OptionalProductsModal');
|
||||
var wContext = require('website.context');
|
||||
var sAnimations = require('website.content.snippets.animation');
|
||||
var ProductConfiguratorMixin = require('sale.ProductConfiguratorMixin');
|
||||
require('website_sale.website_sale');
|
||||
@@ -86,7 +85,7 @@ sAnimations.registry.WebsiteSaleOptions = sAnimations.Class.extend(ProductConfig
|
||||
okButtonText: _t('Proceed to Checkout'),
|
||||
cancelButtonText: _t('Continue Shopping'),
|
||||
title: _t('Add to cart'),
|
||||
context: wContext.get(),
|
||||
context: self._getContext(),
|
||||
}).open();
|
||||
|
||||
self.optionalProductsModal.on('options_empty', null, self._onModalOptionsEmpty.bind(self));
|
||||
@@ -172,7 +171,7 @@ sAnimations.registry.WebsiteSaleOptions = sAnimations.Class.extend(ProductConfig
|
||||
this.$form.ajaxSubmit({
|
||||
url: '/shop/cart/update_option',
|
||||
data: {
|
||||
lang: wContext.get().lang,
|
||||
lang: this._getContext().lang,
|
||||
custom_values: customValues
|
||||
},
|
||||
success: function (quantity) {
|
||||
|
||||
Reference in New Issue
Block a user