diff --git a/addons/web/static/src/js/widgets/user_menu.js b/addons/web/static/src/js/widgets/user_menu.js index f9c658525a4e7a6a67c4f3127c582fae5fa91bd4..60d1cc818d6f3f3c0d561ca031ed9d11c13bf8d1 100644 --- a/addons/web/static/src/js/widgets/user_menu.js +++ b/addons/web/static/src/js/widgets/user_menu.js @@ -11,7 +11,7 @@ var Widget = require('web.Widget'); var _t = core._t; var QWeb = core.qweb; -var SystrayMenu = Widget.extend({ +var UserMenu = Widget.extend({ template: "UserMenu", init: function(parent) { this._super(parent); @@ -55,8 +55,33 @@ var SystrayMenu = Widget.extend({ }; this.update_promise = this.update_promise.then(fct, fct); }, - on_menu_logout: function() { - this.trigger('user_logout'); + on_menu_documentation: function () { + window.open('https://www.odoo.com/documentation/user', '_blank'); + }, + on_menu_support: function () { + window.open('https://www.odoo.com/buy', '_blank'); + }, + on_menu_about: function () { + var self = this; + if (odoo.db_info) { + menu_help_about(odoo.db_info); + } else { + this.rpc("/web/webclient/version_info", {}).done(menu_help_about); + } + + function menu_help_about(db_info) { + var $help = $(QWeb.render("UserMenu.about", {db_info: db_info})); + $help.find('a.oe_activate_debug_mode').click(function (e) { + e.preventDefault(); + window.location = $.param.querystring(window.location.href, 'debug'); + }); + new Dialog(self, { + size: 'medium', + dialogClass: 'o_act_window', + title: _t("About"), + $content: $help + }).open(); + } }, on_menu_settings: function() { var self = this; @@ -88,7 +113,10 @@ var SystrayMenu = Widget.extend({ }); }); }, + on_menu_logout: function() { + this.trigger('user_logout'); + }, }); -return SystrayMenu; +return UserMenu; }); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index b3eb8334fa134d12d4fbbc6ecafcc3de158919d0..50730ee1c25a721115bfc4648ce4042dbe094340 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -79,6 +79,10 @@ <span class="oe_topbar_name"/> <b class="caret"></b> </a> <ul class="dropdown-menu"> + <li><a href="#" data-menu="documentation">Documentation</a></li> + <li><a href="#" data-menu="support">Support</a></li> + <li><a href="#" data-menu="about">About</a></li> + <li class="divider"/> <li><a href="#" data-menu="settings">Preferences</a></li> <li><a href="#" data-menu="account">My Odoo.com account</a></li> <li><a href="#" data-menu="logout">Log out</a></li> @@ -86,6 +90,48 @@ </li> </t> +<div t-name="UserMenu.about" class="oe_about"> + <div class="container-fluid"> + <div class="row"> + <a class="oe_activate_debug_mode oe_right label label-primary" href="?debug" >Activate the developer mode</a> + </div> + <div class="row"> + <div class="col-sm-offset-2 col-md-offset-2 col-sm-8 col-md-8 user-details"> + <div class="user-image"> + <img src="/web/static/src/img/logo2.png" alt="Odoo (Formerly OpenERP)" title="Odoo (Formerly OpenERP)" class="img-circle"/> + </div> + <div class="user-info-block"> + <div class="user-heading"> + <h3> + Version <t t-esc="db_info.server_version"/> + (Community Edition) + </h3> + <t t-if="db_info.expiration_date"> + <h5>Database expiration: <t t-esc="new moment(db_info.expiration_date).format('LL')"/></h5> + </t> + </div> + <div class="user-body"> + <div class="tab-content"> + <div id="settings" class="tab-pane active"> + <h4>Copyright © 2004-2015 Odoo S.A.</h4> + <p>Odoo is a trademark of <a target="_blank" href="https://www.odoo.com" style="text-decoration: underline;">Odoo S.A.</a></p> + <p>Licenced under the terms of <a target="_blank" href="http://www.gnu.org/licenses/lgpl.html" style="text-decoration: underline;">GNU Lesser General Public License</a></p> + <p>For more information visit <a target="_blank" href="https://www.odoo.com" style="text-decoration: underline;">Odoo.com</a></p> + <p> + <a href="https://www.odoo.com/web/about/facebook"><i class="fa fa-facebook-square fa-3x social-fb"></i></a> + <a href="https://www.odoo.com/web/about/twitter"><i class="fa fa-twitter-square fa-3x social-tw"></i></a> + <a href="https://www.odoo.com/web/about/googleplus"><i class="fa fa-google-plus-square fa-3x social-gp"></i></a> + <a href="https://www.odoo.com/web/about/linkedin"><i class="fa fa-linkedin-square fa-3x social-lk"></i></a> + </p> + </div> + </div> + </div> + </div> + </div> + </div> + </div> +</div> + <t t-name="WebClient.timezone_warning"> <i class="fa fa-exclamation-triangle oe_tz_warning"></i> </t> diff --git a/addons/web_planner/static/src/js/web_planner_backend.js b/addons/web_planner/static/src/js/web_planner_backend.js index c4079b364333ca69bf71c2a021eee25d311b76c9..40055e393213eb5d6f586f8e575b1d442b3b4d71 100644 --- a/addons/web_planner/static/src/js/web_planner_backend.js +++ b/addons/web_planner/static/src/js/web_planner_backend.js @@ -13,7 +13,7 @@ var QWeb = core.qweb; var _t = core._t; var PlannerDialog = planner.PlannerDialog; -var PlannerLauncher = Widget.extend(planner.PlannerHelpMixin, { +var PlannerLauncher = Widget.extend({ template: "PlannerLauncher", init: function(parent) { this._super(parent); @@ -25,12 +25,10 @@ var PlannerLauncher = Widget.extend(planner.PlannerHelpMixin, { core.bus.on("change_menu_section", self, self.on_menu_clicked); var res = self._super.apply(this, arguments).then(function() { - self.$el.filter('.o_planner_systray').on('click', self, self.show_dialog.bind(self)); - self.$el.filter('.o_planner_help').on('click', '.dropdown-menu li a[data-menu]', self.on_menu_help); + self.$el.on('click', self, self.show_dialog.bind(self)); return self.fetch_application_planner(); }).then(function(apps) { - self.$el.filter('.o_planner_systray').hide(); // hidden by default - self.$el.filter('.o_planner_help').find('.o_planner_link').hide(); + self.$el.hide(); // hidden by default self.$('.progress').tooltip({html: true, placement: 'bottom', delay: {'show': 500}}); self.planner_apps = apps; return apps; @@ -58,8 +56,7 @@ var PlannerLauncher = Widget.extend(planner.PlannerHelpMixin, { this.setup(this.planner_apps[menu_id]); this.need_reflow = true; } else { - this.$el.filter('.o_planner_systray').hide(); - this.$el.filter('.o_planner_help').find('.o_planner_link').hide(); + this.$el.hide(); this.need_reflow = true; } if (this.need_reflow) { @@ -96,7 +93,7 @@ var PlannerLauncher = Widget.extend(planner.PlannerHelpMixin, { } else { this.$(".progress").show(); } - this.$el.filter('.o_planner_systray').show(); + this.$el.show(); this.$(".progress-bar").css('width', percent+"%"); }, show_dialog: function() { diff --git a/addons/web_planner/static/src/js/web_planner_common.js b/addons/web_planner/static/src/js/web_planner_common.js index b7fd147d84918f525d1b5e48bcee54319828a259..1abe71620f49e973fffa654529ba6fc0a3868d3d 100644 --- a/addons/web_planner/static/src/js/web_planner_common.js +++ b/addons/web_planner/static/src/js/web_planner_common.js @@ -413,52 +413,8 @@ var PlannerDialog = Widget.extend({ } }); -var PlannerHelpMixin = { - - on_menu_help: function(ev) { - ev.preventDefault(); - - var menu = $(ev.currentTarget).data('menu'); - if (menu === 'about') { - if (!odoo.db_info) { - var self = this; - this.rpc("/web/webclient/version_info", {}).done(function(db_info) { - self.on_menu_help_about(db_info); - }); - } else { - this.on_menu_help_about(odoo.db_info); - } - } else if (menu === 'documentation') { - window.open('https://www.odoo.com/documentation/user', '_blank'); - } else if (menu === 'planner') { - if (this.dialog) this.show_dialog(); - } else if (menu === 'support') { - if (odoo.db_info && odoo.db_info.server_version_info[5] === 'c') { - window.open('https://www.odoo.com/buy', '_blank'); - } else { - window.location.href = 'mailto:help@odoo.com'; - } - } - }, - - on_menu_help_about: function(db_info) { - var $help = $(QWeb.render("PlannerLauncher.about", {db_info: db_info})); - $help.find('a.oe_activate_debug_mode').click(function (e) { - e.preventDefault(); - window.location = $.param.querystring( window.location.href, 'debug'); - }); - new Dialog(this, { - size: 'medium', - dialogClass: 'o_act_window', - title: _t("About"), - $content: $help - }).open(); - }, -}; - return { PlannerDialog: PlannerDialog, - PlannerHelpMixin: PlannerHelpMixin, }; }); diff --git a/addons/web_planner/static/src/less/web_planner_common.less b/addons/web_planner/static/src/less/web_planner_common.less index 6e484213a382e122a255566b3628ee3ab262705a..bf823105d4e6fad279cc843218978eae21452efd 100644 --- a/addons/web_planner/static/src/less/web_planner_common.less +++ b/addons/web_planner/static/src/less/web_planner_common.less @@ -29,9 +29,8 @@ /**************** MENU PROGRESS BAR ****************/ .o_planner_systray { - width: 100px; - > .progress { + width: 70px; height: 13px; cursor: pointer; diff --git a/addons/web_planner/static/src/xml/web_planner.xml b/addons/web_planner/static/src/xml/web_planner.xml index ce01833c3ea1e9650cddccdb02c65b3841133ea1..8cf17af06186c692e0ebcab2831fd22dfe44217b 100644 --- a/addons/web_planner/static/src/xml/web_planner.xml +++ b/addons/web_planner/static/src/xml/web_planner.xml @@ -5,63 +5,6 @@ <li class="o_planner_systray hidden-xs"> <div class="progress"><div class="progress-bar"/></div> </li> - <li class="o_planner_help"> - <a class="dropdown-toggle" data-toggle="dropdown" href="#" title="Open Help Menu" aria-expanded="false"> - <span class="fa fa-question-circle"/> - <b class="caret"/> - </a> - <ul class="dropdown-menu" role="menu"> - <li class="o_planner_link"><a href="#" data-menu="planner">Planner</a></li> - <li><a href="#" data-menu="documentation">Documentation</a></li> - <li><a href="#" data-menu="support">Support</a></li> - <li><a href="#" data-menu="about">About</a></li> - </ul> - </li> - </t> - - <t t-name="PlannerLauncher.about"> - <div class="oe_about"> - - <div class="container-fluid"> - <div class="row"> - <a class="oe_activate_debug_mode oe_right label label-primary" href="?debug" >Activate the developer mode</a> - </div> - <div class="row"> - <div class="col-sm-offset-2 col-md-offset-2 col-sm-8 col-md-8 user-details"> - <div class="user-image"> - <img src="/web/static/src/img/logo2.png" alt="Odoo (Formerly OpenERP)" title="Odoo (Formerly OpenERP)" class="img-circle"/> - </div> - <div class="user-info-block"> - <div class="user-heading"> - <h3> - Version <t t-esc="db_info.server_version"/> - (<span t-esc="db_info.server_version_info[5] == 'e'?'Enterprise':'Community'"/> Edition) - </h3> - <t t-if="db_info.expiration_date"> - <h5>Database expiration: <t t-esc="new moment(db_info.expiration_date).format('LL')"/></h5> - </t> - </div> - <div class="user-body"> - <div class="tab-content"> - <div id="settings" class="tab-pane active"> - <h4>Copyright © 2004-2015 Odoo S.A.</h4> - <p>Odoo is a trademark of <a target="_blank" href="https://www.odoo.com" style="text-decoration: underline;">Odoo S.A.</a></p> - <p>Licenced under the terms of <a target="_blank" href="http://www.gnu.org/licenses/lgpl.html" style="text-decoration: underline;">GNU Lesser General Public License</a></p> - <p>For more information visit <a target="_blank" href="https://www.odoo.com" style="text-decoration: underline;">Odoo.com</a></p> - <p> - <a href="https://www.odoo.com/web/about/facebook"><i class="fa fa-facebook-square fa-3x social-fb"></i></a> - <a href="https://www.odoo.com/web/about/twitter"><i class="fa fa-twitter-square fa-3x social-tw"></i></a> - <a href="https://www.odoo.com/web/about/googleplus"><i class="fa fa-google-plus-square fa-3x social-gp"></i></a> - <a href="https://www.odoo.com/web/about/linkedin"><i class="fa fa-linkedin-square fa-3x social-lk"></i></a> - </p> - </div> - </div> - </div> - </div> - </div> - </div> - </div> - </div> </t> <div t-name="PlannerDialog" class="modal" id="PlannerDialog" tabindex="-1" role="dialog" aria-labelledby="PlannerDialogLabel" aria-hidden="true"> @@ -98,7 +41,6 @@ </div> </div> - <t t-name="PlannerMenu"> <li t-foreach="orphan_pages" t-as="orphan_page"> <a t-att-href="'#' + menu_item_page_map[orphan_page]"><span class="fa fa-fw"/><t t-esc="orphan_page"/></a> @@ -110,5 +52,4 @@ </li> </t> </t> - </templates> diff --git a/addons/website/static/src/js/web_planner_website.js b/addons/website/static/src/js/web_planner_website.js index 6b530bb5f0d75125b37b66634a577ab868044fcd..3ff34b367dafd96eb44316a7ffe1c343ee190bef 100644 --- a/addons/website/static/src/js/web_planner_website.js +++ b/addons/website/static/src/js/web_planner_website.js @@ -14,14 +14,13 @@ if(!$('#oe_systray').length) { return $.Deferred().reject("DOM doesn't contain '#oe_systray'"); } -var WebsitePlannerLauncher = Widget.extend(planner.PlannerHelpMixin, { +var WebsitePlannerLauncher = Widget.extend({ template: "PlannerLauncher", start: function() { var self = this; var res = this._super.apply(this, arguments); return res.then(this.get_website_planner.bind(this)).then(function(planner) { - self.$el.filter('.o_planner_systray').on('click', self, self.show_dialog.bind(self)); - self.$el.filter('.o_planner_help').on('click', '.dropdown-menu li a[data-menu]', self.on_menu_help); + self.$el.on('click', self, self.show_dialog.bind(self)); if (planner.length) { self.planner = planner[0]; self.planner.data = $.parseJSON(planner[0].data) || {}; @@ -51,9 +50,9 @@ var WebsitePlannerLauncher = Widget.extend(planner.PlannerHelpMixin, { }); return ajax.loadXML('/web_planner/static/src/xml/web_planner.xml', qweb).then(function() { - var websitePlannerLauncher = new WebsitePlannerLauncher(); - websitePlannerLauncher.prependTo($('#oe_systray')); - }); + var websitePlannerLauncher = new WebsitePlannerLauncher(); + websitePlannerLauncher.prependTo($('#oe_systray')); +}); });