summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorFabien Meghazi <fme@openerp.com>2012-02-27 14:45:31 +0100
committerFabien Meghazi <fme@openerp.com>2012-02-27 14:45:31 +0100
commite91dee1e97d5b7f371ee2ab86c77d4067d6e4af9 (patch)
tree9690a1b444d3a50d98b452c42fcd16fd5269f2ae /addons/web/static/src
parentd4d05566ccf6ddc9d1191adc5380099de7cc1df0 (diff)
[ADD] Added shortcut to dropdown menu. Completely removed old Header
bzr revid: fme@openerp.com-20120227134531-uf646x2w13zqsslz
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/css/base.css11
-rw-r--r--addons/web/static/src/css/base.sass7
-rw-r--r--addons/web/static/src/css/base_old.css107
-rw-r--r--addons/web/static/src/img/header-about.pngbin442 -> 0 bytes
-rw-r--r--addons/web/static/src/img/header-background.pngbin149 -> 0 bytes
-rw-r--r--addons/web/static/src/img/header-help.pngbin454 -> 0 bytes
-rw-r--r--addons/web/static/src/img/header-home.pngbin452 -> 0 bytes
-rw-r--r--addons/web/static/src/img/header-preferences.pngbin420 -> 0 bytes
-rw-r--r--addons/web/static/src/img/header-requests.pngbin353 -> 0 bytes
-rw-r--r--addons/web/static/src/img/topbar-avatar.pngbin0 -> 846 bytes
-rw-r--r--addons/web/static/src/js/chrome.js318
-rw-r--r--addons/web/static/src/xml/base.xml52
12 files changed, 144 insertions, 351 deletions
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index c9774bcfa73..c038b396554 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -62,6 +62,9 @@
-webkit-border-radius: 4px;
border-radius: 4px;
}
+.openerp2 .oe_topbar .oe_topbar_avatar {
+ vertical-align: top;
+}
.openerp2 .oe_menu {
float: left;
padding: 0;
@@ -134,7 +137,6 @@
right: -1px;
border: 0;
z-index: 900;
- width: 160px;
margin-left: 0;
margin-right: 0;
padding: 6px 0;
@@ -175,10 +177,3 @@
-webkit-box-shadow: none;
-box-shadow: none;
}
-
-.openerp .oe-shortcuts {
- position: static;
-}
-.openerp #oe_header {
- clear: both;
-}
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index ab144a5ceec..c2a66db333e 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -97,6 +97,8 @@
height: 24px
margin: -2px 2px 0 0
@include radius(4px)
+ .oe_topbar_avatar
+ vertical-align: top
// }}}
// Menu {{{
@@ -161,7 +163,6 @@
right: -1px
border: 0
z-index: 900
- width: 160px
margin-left: 0
margin-right: 0
padding: 6px 0
@@ -191,10 +192,6 @@
.openerp
// Transitional overrides for old styles {{{
- .oe-shortcuts
- position: static
- #oe_header
- clear: both
// }}}
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers <afile> > "%:p:r.css"
diff --git a/addons/web/static/src/css/base_old.css b/addons/web/static/src/css/base_old.css
index 1fac47d128c..9b5bdb2e15b 100644
--- a/addons/web/static/src/css/base_old.css
+++ b/addons/web/static/src/css/base_old.css
@@ -27,9 +27,6 @@
margin: 2px;
}
-#oe_header h2 {
- margin: 2px 0;
-}
#oe_errors pre {
margin: 0;
@@ -566,110 +563,6 @@ label.error {
content: "\25b8";
}
-/* Header */
-.openerp .header {
- height: 65px;
- background: url("/web/static/src/img/header-background.png") repeat-x scroll left top transparent;
- color: #FFFFFF;
- letter-spacing: 0.5px;
- text-shadow: 0 1px 0 #333333;
-}
-.openerp .company_logo_link {
- display: block;
- float: left;
- height: 63px;
- width: 200px;
- border: 1px solid white;
- border-right-color: black;
- border-bottom-color: black;
- background: #FFFFFF;
- background: -moz-linear-gradient(top, #FFFFFF 0%, #CECECE 100%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFFFFF), color-stop(100%,#CECECE));
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#CECECE',GradientType=0 );
-}
-.openerp .company_logo {
- margin-top: 7px;
- margin-left: 10px;
- display: block;
- background: url(/web/static/src/img/logo.png);
- width:180px;
- height:46px;
-}
-.openerp .header_title {
- float: left;
- font-size: 100%;
- margin: 0;
- padding: 4px 10px;
- text-shadow: 0 1px 0 #111111;
- font-weight:normal;
- line-height:14px;
-}
-.openerp .header_title small {
- color: #ccc;
- font-size: 90%;
- font-weight: normal;
-}
-.openerp .header_corner {
- float: right;
-}
-.openerp .header_corner .block {
- float: left;
- height: 34px;
- line-height: 34px;
- /*background: url(../images/top-sep-a.png) no-repeat;*/
- border-left: 1px solid #6a6a6a;
- background: #828282;
- background: -moz-linear-gradient(top, #828282 0%, #4D4D4D 100%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#828282), color-stop(100%,#4D4D4D));
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#828282', endColorstr='#4D4D4D',GradientType=0 );
-}
-.openerp .header_corner .block a {
- display: block;
- color: white;
- text-decoration: none;
- padding: 0 10px;
-}
-.openerp .header_corner .block a:hover {
- background: #929292;
- background: -moz-linear-gradient(top, #929292 0%, #4D4D4D 100%);
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#929292), color-stop(100%,#4D4D4D));
- filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#929292', endColorstr='#4D4D4D',GradientType=0 );
-}
-.openerp .header_corner ul.block {
- list-style: none;
- height: 34px;
- margin: 0;
- padding: 0 0 0 2px;
- line-height: 33px;
-}
-.openerp .header_corner ul.block li {
- float: left;
-}
-.openerp .header_corner ul.block li a {
- padding: 0 5px;
- position: relative;
- line-height: 32px;
-}
-.openerp .header_corner ul.block li a img {
- vertical-align: middle;
-}
-.openerp .header_corner ul.block li a small {
- position: absolute;
- right: 0;
- top: 5px;
- padding: 1px 4px 2px;
- background: rgba(0, 0, 0, 0.75);
- border-radius: 7px;
- -moz-border-radius: 7px;
- -webkit-border-radius: 7px;
- line-height: 1em;
- font-weight: bold;
-}
-
-.openerp .logout {
- font-size:80%;
-}
-
/* Footer */
.openerp div.oe_footer {
background: none repeat scroll 0 0 #CCCCCC;
diff --git a/addons/web/static/src/img/header-about.png b/addons/web/static/src/img/header-about.png
deleted file mode 100644
index b53e9a86ebe..00000000000
--- a/addons/web/static/src/img/header-about.png
+++ /dev/null
Binary files differ
diff --git a/addons/web/static/src/img/header-background.png b/addons/web/static/src/img/header-background.png
deleted file mode 100644
index 774b3954124..00000000000
--- a/addons/web/static/src/img/header-background.png
+++ /dev/null
Binary files differ
diff --git a/addons/web/static/src/img/header-help.png b/addons/web/static/src/img/header-help.png
deleted file mode 100644
index 19e9906fdef..00000000000
--- a/addons/web/static/src/img/header-help.png
+++ /dev/null
Binary files differ
diff --git a/addons/web/static/src/img/header-home.png b/addons/web/static/src/img/header-home.png
deleted file mode 100644
index fd96742d15a..00000000000
--- a/addons/web/static/src/img/header-home.png
+++ /dev/null
Binary files differ
diff --git a/addons/web/static/src/img/header-preferences.png b/addons/web/static/src/img/header-preferences.png
deleted file mode 100644
index 6c978b49f55..00000000000
--- a/addons/web/static/src/img/header-preferences.png
+++ /dev/null
Binary files differ
diff --git a/addons/web/static/src/img/header-requests.png b/addons/web/static/src/img/header-requests.png
deleted file mode 100644
index 6577e7e6448..00000000000
--- a/addons/web/static/src/img/header-requests.png
+++ /dev/null
Binary files differ
diff --git a/addons/web/static/src/img/topbar-avatar.png b/addons/web/static/src/img/topbar-avatar.png
new file mode 100644
index 00000000000..a2c70ea7d49
--- /dev/null
+++ b/addons/web/static/src/img/topbar-avatar.png
Binary files differ
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index 838fdb4f79f..ff474528814 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -666,186 +666,6 @@ openerp.web.Login = openerp.web.OldWidget.extend(/** @lends openerp.web.Login#
}
});
-openerp.web.Header = openerp.web.OldWidget.extend(/** @lends openerp.web.Header# */{
- template: "Header",
- /**
- * @constructs openerp.web.Header
- * @extends openerp.web.OldWidget
- *
- * @param parent
- */
- init: function(parent) {
- this._super(parent);
- this.qs = "?" + jQuery.param.querystring();
- this.$content = $();
- this.update_promise = $.Deferred().resolve();
- },
- start: function() {
- this._super();
- },
- do_update: function () {
- var self = this;
- var fct = function() {
- self.$content.remove();
- if (!self.session.uid)
- return;
- var func = new openerp.web.Model("res.users").get_func("read");
- return func(self.session.uid, ["name", "company_id"]).pipe(function(res) {
- self.$content = $(QWeb.render("Header-content", {widget: self, user: res}));
- self.$content.appendTo(self.$element);
- self.$element.find(".logout").click(self.on_logout);
- self.$element.find("a.preferences").click(self.on_preferences);
- self.$element.find(".about").click(self.on_about);
- return self.shortcut_load();
- });
- };
- this.update_promise = this.update_promise.pipe(fct, fct);
- },
- on_about: function() {
- var self = this;
- self.rpc("/web/webclient/version_info", {}).then(function(res) {
- var $help = $(QWeb.render("About-Page", {version_info: res}));
- $help.find('a.oe_activate_debug_mode').click(function (e) {
- e.preventDefault();
- window.location = $.param.querystring(
- window.location.href, 'debug');
- });
- openerp.web.dialog($help, {autoOpen: true,
- modal: true, width: 960, title: _t("About")});
- });
- },
- shortcut_load :function(){
- var self = this,
- sc = self.session.shortcuts,
- shortcuts_ds = new openerp.web.DataSet(this, 'ir.ui.view_sc');
- // TODO: better way to communicate between sections.
- // sc.bindings, because jquery does not bind/trigger on arrays...
- if (!sc.binding) {
- sc.binding = {};
- $(sc.binding).bind({
- 'add': function (e, attrs) {
- shortcuts_ds.create(attrs, function (out) {
- $('<li>', {
- 'data-shortcut-id':out.result,
- 'data-id': attrs.res_id
- }).text(attrs.name)
- .appendTo(self.$element.find('.oe-shortcuts ul'));
- attrs.id = out.result;
- sc.push(attrs);
- });
- },
- 'remove-current': function () {
- var menu_id = self.session.active_id;
- var $shortcut = self.$element
- .find('.oe-shortcuts li[data-id=' + menu_id + ']');
- var shortcut_id = $shortcut.data('shortcut-id');
- $shortcut.remove();
- shortcuts_ds.unlink([shortcut_id]);
- var sc_new = _.reject(sc, function(shortcut){ return shortcut_id === shortcut.id});
- sc.splice(0, sc.length);
- sc.push.apply(sc, sc_new);
- }
- });
- }
- return this.rpc('/web/session/sc_list', {}, function(shortcuts) {
- sc.splice(0, sc.length);
- sc.push.apply(sc, shortcuts);
-
- self.$element.find('.oe-shortcuts')
- .html(QWeb.render('Shortcuts', {'shortcuts': shortcuts}))
- .undelegate('li', 'click')
-
- .delegate('li', 'click', function(e) {
- e.stopPropagation();
- var id = $(this).data('id');
- self.session.active_id = id;
- self.rpc('/web/menu/action', {'menu_id':id}, function(ir_menu_data) {
- if (ir_menu_data.action.length){
- self.on_action(ir_menu_data.action[0][2]);
- }
- });
- });
- });
- },
-
- on_action: function(action) {
- },
- on_preferences: function(){
- var self = this;
- var action_manager = new openerp.web.ActionManager(this);
- var dataset = new openerp.web.DataSet (this,'res.users',this.context);
- dataset.call ('action_get','',function (result){
- self.rpc('/web/action/load', {action_id:result}, function(result){
- action_manager.do_action(_.extend(result['result'], {
- res_id: self.session.uid,
- res_model: 'res.users',
- flags: {
- action_buttons: false,
- search_view: false,
- sidebar: false,
- views_switcher: false,
- pager: false
- }
- }));
- });
- });
- this.dialog = new openerp.web.Dialog(this,{
- title: _t("Preferences"),
- width: '700px',
- buttons: [
- {text: _t("Cancel"), click: function(){ $(this).dialog('destroy'); }},
- {text: _t("Change password"), click: function(){ self.change_password(); }},
- {text: _t("Save"), click: function(){
- var inner_viewmanager = action_manager.inner_viewmanager;
- inner_viewmanager.views[inner_viewmanager.active_view].controller.do_save()
- .then(function() {
- self.dialog.destroy();
- // needs to refresh interface in case language changed
- window.location.reload();
- });
- }
- }
- ]
- }).open();
- action_manager.appendTo(this.dialog);
- action_manager.render(this.dialog);
- },
-
- change_password :function() {
- var self = this;
- this.dialog = new openerp.web.Dialog(this, {
- title: _t("Change Password"),
- width : 'auto'
- }).open();
- this.dialog.$element.html(QWeb.render("Change_Pwd", self));
- this.dialog.$element.find("form[name=change_password_form]").validate({
- submitHandler: function (form) {
- self.rpc("/web/session/change_password",{
- 'fields': $(form).serializeArray()
- }, function(result) {
- if (result.error) {
- self.display_error(result);
- return;
- } else {
- openerp.webclient.on_logout();
- }
- });
- }
- });
- },
- display_error: function (error) {
- return openerp.web.dialog($('<div>'), {
- modal: true,
- title: error.title,
- buttons: [
- {text: _("Ok"), click: function() { $(this).dialog("close"); }}
- ]
- }).html(error.error);
- },
- on_logout: function() {
- }
-});
-
openerp.web.Menu = openerp.web.Widget.extend(/** @lends openerp.web.Menu# */{
/**
* @constructs openerp.web.Menu
@@ -1008,16 +828,17 @@ openerp.web.Menu = openerp.web.Widget.extend(/** @lends openerp.web.Menu# */{
}
});
-openerp.web.DropDownMenu = openerp.web.Widget.extend(/** @lends openerp.web.Header# */{
+openerp.web.DropDownMenu = openerp.web.Widget.extend(/** @lends openerp.web.DropDownMenu# */{
template: "DropDownMenu",
/**
* @constructs openerp.web.DropDownMenu
- * @extends openerp.web.OldWidget
+ * @extends openerp.web.Widget
*
* @param parent
*/
init: function(parent) {
this._super(parent);
+ this.update_promise = $.Deferred().resolve();
},
start: function() {
var self = this;
@@ -1029,13 +850,108 @@ openerp.web.DropDownMenu = openerp.web.Widget.extend(/** @lends openerp.web.Hea
self.$element.find('.oe_dropdown_options').toggle();
return false;
});
- this.$element.find('.oe_dropdown_options li a').click(function() {
+ this.$element.on('click', '.oe_dropdown_options li a[data-menu]', function() {
var f = self['on_menu_' + $(this).data('menu')];
- f && f();
+ f && f($(this));
self.$element.find('.oe_dropdown_options').hide();
return false;
});
},
+ change_password :function() {
+ var self = this;
+ this.dialog = new openerp.web.Dialog(this, {
+ title: _t("Change Password"),
+ width : 'auto'
+ }).open();
+ this.dialog.$element.html(QWeb.render("Change_Pwd", self));
+ this.dialog.$element.find("form[name=change_password_form]").validate({
+ submitHandler: function (form) {
+ self.rpc("/web/session/change_password",{
+ 'fields': $(form).serializeArray()
+ }, function(result) {
+ if (result.error) {
+ self.display_error(result);
+ return;
+ } else {
+ openerp.webclient.on_logout();
+ }
+ });
+ }
+ });
+ },
+ display_error: function (error) {
+ return openerp.web.dialog($('<div>'), {
+ modal: true,
+ title: error.title,
+ buttons: [
+ {text: _("Ok"), click: function() { $(this).dialog("close"); }}
+ ]
+ }).html(error.error);
+ },
+ do_update: function () {
+ var self = this;
+ var fct = function() {
+ var $avatar = self.$element.find('.oe_topbar_avatar');
+ $avatar.attr('src', $avatar.data('default-src'));
+ if (!self.session.uid)
+ return;
+ var func = new openerp.web.Model("res.users").get_func("read");
+ return func(self.session.uid, ["name", "company_id"]).pipe(function(res) {
+ // TODO: Only show company if multicompany in use
+ self.$element.find('.oe_topbar_name').text(res.name + '/' + res.company_id[1]);
+ return self.shortcut_load();
+ });
+ };
+ this.update_promise = this.update_promise.pipe(fct, fct);
+ },
+ on_action: function() {
+ },
+ shortcut_load :function(){
+ var self = this,
+ sc = self.session.shortcuts,
+ shortcuts_ds = new openerp.web.DataSet(this, 'ir.ui.view_sc');
+ self.$element.find('.oe_dropdown_options a[data-menu=shortcut]').each(function() {
+ $(this).parent().remove();
+ });
+ // TODO: better way to communicate between sections.
+ // sc.bindings, because jquery does not bind/trigger on arrays...
+ if (!sc.binding) {
+ sc.binding = {};
+ $(sc.binding).bind({
+ 'add': function (e, attrs) {
+ shortcuts_ds.create(attrs, function (out) {
+ var shortcut = QWeb.render('DropDownMenu.shortcut', {
+ shortcuts : [{
+ name : attrs.name,
+ id : out.result,
+ res_id : attrs.res_id
+ }]
+ });
+ $(shortcut).appendTo(self.$element.find('.oe_dropdown_options'));
+ attrs.id = out.result;
+ sc.push(attrs);
+ });
+ },
+ 'remove-current': function () {
+ var menu_id = self.session.active_id;
+ var $shortcut = self.$element.find('.oe_dropdown_options li a[data-id=' + menu_id + ']');
+ var shortcut_id = $shortcut.data('shortcut-id');
+ $shortcut.remove();
+ shortcuts_ds.unlink([shortcut_id]);
+ var sc_new = _.reject(sc, function(shortcut){ return shortcut_id === shortcut.id});
+ sc.splice(0, sc.length);
+ sc.push.apply(sc, sc_new);
+ }
+ });
+ }
+ return this.rpc('/web/session/sc_list', {}, function(shortcuts) {
+ sc.splice(0, sc.length);
+ sc.push.apply(sc, shortcuts);
+
+ $(QWeb.render('DropDownMenu.shortcut', {'shortcuts': shortcuts}))
+ .appendTo(self.$element.find('.oe_dropdown_options'));
+ });
+ },
on_menu_logout: function() {
},
on_menu_settings: function() {
@@ -1077,6 +993,29 @@ openerp.web.DropDownMenu = openerp.web.Widget.extend(/** @lends openerp.web.Hea
}).open();
action_manager.appendTo(this.dialog);
action_manager.render(this.dialog);
+ },
+ on_menu_about: function() {
+ var self = this;
+ self.rpc("/web/webclient/version_info", {}).then(function(res) {
+ var $help = $(QWeb.render("About-Page", {version_info: res}));
+ $help.find('a.oe_activate_debug_mode').click(function (e) {
+ e.preventDefault();
+ window.location = $.param.querystring(
+ window.location.href, 'debug');
+ });
+ openerp.web.dialog($help, {autoOpen: true,
+ modal: true, width: 960, title: _t("About")});
+ });
+ },
+ on_menu_shortcut: function($link) {
+ var self = this,
+ id = $link.data('id');
+ self.session.active_id = id;
+ self.rpc('/web/menu/action', {'menu_id': id}, function(ir_menu_data) {
+ if (ir_menu_data.action.length){
+ self.on_action(ir_menu_data.action[0][2]);
+ }
+ });
}
});
@@ -1089,7 +1028,7 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
var self = this;
this._super(parent);
openerp.webclient = this;
-
+ this.querystring = '?' + jQuery.param.querystring();
this._current_state = null;
},
start: function() {
@@ -1108,8 +1047,8 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
});
this.session.on_session_valid.add(function() {
self.show_application();
-
- self.header.do_update();
+
+ self.dropdown_menu.do_update();
self.menu.do_reload();
if(self.action_manager)
self.action_manager.destroy();
@@ -1136,16 +1075,13 @@ openerp.web.WebClient = openerp.web.Widget.extend(/** @lends openerp.web.WebClie
this.show_common();
self.$table = $(QWeb.render("WebClient", {}));
self.$element.append(self.$table);
- self.header = new openerp.web.Header(self);
- self.header.on_logout.add(this.proxy('on_logout'));
- self.header.on_action.add(this.proxy('on_menu_action'));
- self.header.appendTo($("#oe_header"));
self.menu = new openerp.web.Menu(self);
self.menu.replace(this.$element.find('.oe_menu_placeholder'));
self.menu.on_action.add(this.proxy('on_menu_action'));
self.dropdown_menu = new openerp.web.DropDownMenu(self);
self.dropdown_menu.replace(this.$element.find('.oe_dropdown_menu_placeholder'));
self.dropdown_menu.on_menu_logout.add(this.proxy('on_logout'));
+ self.dropdown_menu.on_action.add(this.proxy('on_menu_action'));
},
show_common: function() {
var self = this;
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index 9b361f13e8f..29618c90bdc 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -23,7 +23,6 @@
<div class="oe_menu_placeholder"/>
<div class="oe_dropdown_menu_placeholder"/>
</div>
- <div id="oe_header" class="header" style="display: none"></div>
<div class="oe_leftbar">
<!--
<a href="#" class="oe_logo"><img src="img/logo.png"/></a>
@@ -339,43 +338,6 @@
<div id="oe_db_options" class="oe_db_options"></div>
</div>
</t>
-<t t-name="Header">
- <div>
- <a t-att-href="'/' + widget.qs" class="company_logo_link">
- <div class="company_logo" />
- </a>
- </div>
-</t>
-<t t-name="Header-content">
- <h1 class="header_title">
- <t t-esc="user.company_id[1]"/> (<t t-esc="widget.session.db"/>)<br/>
- <small class="username"><t t-esc="user.name"/></small>
- </h1>
- <div class="header_corner">
- <ul class="block">
- <li>
- <a t-att-href="'/' + widget.qs" title="Home" class="home"><img t-att-src='_s + "/web/static/src/img/header-home.png"' width="16" height="16" border="0"/></a>
- </li>
- <li class="preferences">
- <a href="javascript:void(0)" title="Preferences" class="preferences"><img t-att-src='_s + "/web/static/src/img/header-preferences.png"' width="16" height="16" border="0"/></a>
- </li>
- <li>
- <a href="javascript:void(0)" title="About" class="about"><img t-att-src='_s + "/web/static/src/img/header-about.png"' width="16" height="16" border="0"/></a>
- </li>
- </ul>
- <div class="block">
- <a href="javascript:void(0)" class="logout">LOGOUT</a>
- </div>
-
- </div>
- <div class="oe-shortcuts"> </div>
-</t>
-<ul t-name="Shortcuts">
- <li t-foreach="shortcuts" t-as="shortcut"
- t-att-data-id="shortcut.res_id"
- t-att-data-shortcut-id="shortcut.id"
- ><t t-esc="shortcut.name"/></li>
-</ul>
<t t-name="Menu">
<ul class="oe_menu" t-if="widget.data">
@@ -414,17 +376,27 @@
<ul class="oe_dropdown_menu oe_topbar_item">
<li class="oe_dropdown">
<a href="#" class="oe_dropdown_toggle">
- <img class="oe_topbar_avatar" src="http://www.amigrave.com/ClarkGableSmall.jpg"/>
- Clark Gable
+ <img class="oe_topbar_avatar" t-att-data-default-src="_s + '/web/static/src/img/topbar-avatar.png'"/>
+ <span class="oe_topbar_name"/>
</a>
<ul class="oe_dropdown_options">
<!--<li><a href="#" data-menu="profile">Profile</a></li>-->
<li><a href="#" data-menu="settings">Settings</a></li>
<li><a href="#" data-menu="logout">Log out</a></li>
+ <li><hr/></li>
+ <li><a href="#" data-menu="about">About OpenERP</a></li>
+ <li><hr/></li>
</ul>
</li>
</ul>
</t>
+<t t-name="DropDownMenu.shortcut">
+ <li t-foreach="shortcuts" t-as="shortcut">
+ <a href="#" data-menu="shortcut" t-att-data-id="shortcut.res_id" t-att-data-shortcut-id="shortcut.id">
+ <t t-esc="shortcut.name"/>
+ </a>
+ </li>
+</t>
<t t-name="ViewManager">
<table class="view-manager-main-table" cellpadding="0" cellspacing="0">