diff options
Diffstat (limited to 'addons/website/static/src/js/menu/planner.js')
| -rw-r--r-- | addons/website/static/src/js/menu/planner.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/addons/website/static/src/js/menu/planner.js b/addons/website/static/src/js/menu/planner.js new file mode 100644 index 00000000000..59adfef92a0 --- /dev/null +++ b/addons/website/static/src/js/menu/planner.js @@ -0,0 +1,41 @@ +odoo.define('web.planner.website', function (require) { +'use strict'; + +var ajax = require('web.ajax'); +var core = require('web.core'); +var planner = require('web.planner.common'); +var rpc = require('web.rpc'); +var session = require('web.session'); +var website = require('website.website'); + +var qweb = core.qweb; + +var WebsitePlannerLauncher = planner.PlannerLauncher.extend({ + _fetch_planner_data: function () { + return rpc.query({ + model: 'web.planner', + method: 'search_read', + args: [[['planner_application', '=', 'planner_website']]], + }) + .then((function (planner) { + if (!planner.length) return; + + planner[0].data = $.parseJSON(planner[0].data) || {}; + this._setup_for_planner(planner[0]); + }).bind(this)); + }, +}); + +if (session.is_system) { + website.TopBar.include({ + start: function () { + var websitePlannerLauncher = new WebsitePlannerLauncher(); + var def = ajax.loadXML('/web_planner/static/src/xml/web_planner.xml', qweb).then((function() { + return websitePlannerLauncher.prependTo(this.$(".o_menu_systray")); + }).bind(this)); + return $.when(this._super.apply(this, arguments), def); + }, + }); +} + +}); |
