summaryrefslogtreecommitdiff
path: root/addons/website/static/src/js/menu/planner.js
diff options
context:
space:
mode:
Diffstat (limited to 'addons/website/static/src/js/menu/planner.js')
-rw-r--r--addons/website/static/src/js/menu/planner.js41
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);
+ },
+ });
+}
+
+});