diff options
| author | Christophe Simonis <chs@odoo.com> | 2016-01-05 15:51:49 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2016-01-05 15:51:49 +0100 |
| commit | 31ce19bd7c8ff90aa3a3f34ba13dfbbe00865b3b (patch) | |
| tree | 4f24c985d7f4f7d08af1830f8199b120f35018f7 /addons/web/static/src | |
| parent | 9b5311e0c94ea2b3ad6c36bc9a4ea63228779b66 (diff) | |
| parent | 97e87a42cdfaed04a6f50d928d86ac6e3bec9f91 (diff) | |
[MERGE] forward port of branch 9.0 up to 97e87a4
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/css/base.css | 1 | ||||
| -rw-r--r-- | addons/web/static/src/css/base.sass | 1 | ||||
| -rw-r--r-- | addons/web/static/src/js/action_manager.js | 5 | ||||
| -rw-r--r-- | addons/web/static/src/js/view_manager.js | 16 | ||||
| -rw-r--r-- | addons/web/static/src/js/widgets/user_menu.js | 36 | ||||
| -rw-r--r-- | addons/web/static/src/xml/base.xml | 46 |
6 files changed, 91 insertions, 14 deletions
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 7f68261d758..b8f5a998cd7 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1405,6 +1405,7 @@ } .openerp .oe_form_sheetbg { padding: 16px 0; + position: relative; } .openerp .oe_form_sheet_width { min-width: 650px; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index b335a122640..eee7739b3f6 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -1263,6 +1263,7 @@ $sheet-padding: 16px margin: 0 .oe_form_sheetbg padding: 16px 0 + position: relative .oe_form_sheet_width min-width: 650px max-width: $sheet-max-width diff --git a/addons/web/static/src/js/action_manager.js b/addons/web/static/src/js/action_manager.js index 4110e45ba83..ec3441eee4c 100644 --- a/addons/web/static/src/js/action_manager.js +++ b/addons/web/static/src/js/action_manager.js @@ -336,7 +336,8 @@ var ActionManager = Widget.extend({ return action.title; } } - return _.pluck(this.get_breadcrumbs(), 'title').join(' / '); + var last_breadcrumb = _.last(this.get_breadcrumbs()); + return last_breadcrumb ? last_breadcrumb.title : ""; }, get_action_stack: function () { return this.action_stack; @@ -608,7 +609,7 @@ var ActionManager = Widget.extend({ var form = _.str.startsWith(action.view_mode, 'form'); action.flags = _.defaults(action.flags || {}, { views_switcher : !popup && !inline, - search_view : !popup && !inline, + search_view : !(popup && form) && !inline, action_buttons : !popup && !inline, sidebar : !popup && !inline, pager : (!popup || !form) && !inline, diff --git a/addons/web/static/src/js/view_manager.js b/addons/web/static/src/js/view_manager.js index f2c216ebd83..c5db4b954ca 100644 --- a/addons/web/static/src/js/view_manager.js +++ b/addons/web/static/src/js/view_manager.js @@ -141,12 +141,6 @@ var ViewManager = Widget.extend(ControlPanelMixin, { this.view_stack.pop(); } this.view_stack.push(view); - - // Hide active view (at first rendering, there is no view to hide) - if (this.active_view && this.active_view !== view) { - if (this.active_view.controller) this.active_view.controller.do_hide(); - if (this.active_view.$container) this.active_view.$container.hide(); - } this.active_view = view; if (!view.created) { @@ -188,10 +182,16 @@ var ViewManager = Widget.extend(ControlPanelMixin, { }; self.update_control_panel(cp_status); - // Detach the old view but not ui-autocomplete elements to let - // jquery-ui garbage-collect them if (old_view) { + // Detach the old view but not ui-autocomplete elements to let + // jquery-ui garbage-collect them old_view.$container.contents().not('.ui-autocomplete').detach(); + + // Hide old view (at first rendering, there is no view to hide) + if (self.active_view !== old_view) { + if (old_view.controller) old_view.controller.do_hide(); + if (old_view.$container) old_view.$container.hide(); + } } // Append the view fragment to its $container diff --git a/addons/web/static/src/js/widgets/user_menu.js b/addons/web/static/src/js/widgets/user_menu.js index f9c658525a4..60d1cc818d6 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 54f72a704da..07b6fcb70ac 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> |
