summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2016-01-05 15:51:49 +0100
committerChristophe Simonis <chs@odoo.com>2016-01-05 15:51:49 +0100
commit31ce19bd7c8ff90aa3a3f34ba13dfbbe00865b3b (patch)
tree4f24c985d7f4f7d08af1830f8199b120f35018f7 /addons/web/static/src
parent9b5311e0c94ea2b3ad6c36bc9a4ea63228779b66 (diff)
parent97e87a42cdfaed04a6f50d928d86ac6e3bec9f91 (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.css1
-rw-r--r--addons/web/static/src/css/base.sass1
-rw-r--r--addons/web/static/src/js/action_manager.js5
-rw-r--r--addons/web/static/src/js/view_manager.js16
-rw-r--r--addons/web/static/src/js/widgets/user_menu.js36
-rw-r--r--addons/web/static/src/xml/base.xml46
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>