diff --git a/addons/base/static/openerp/js/base_chrome.js b/addons/base/static/openerp/js/base_chrome.js index 799526ae325..ddbb3f92b29 100644 --- a/addons/base/static/openerp/js/base_chrome.js +++ b/addons/base/static/openerp/js/base_chrome.js @@ -455,21 +455,22 @@ openerp.base.Menu = openerp.base.Controller.extend({ this.on_ready(); }, on_menu_click: function(ev, id) { - var id = id || 0, $menu, $parent, $secondary; + id = id || 0; + var $menu, $parent, $secondary; + if (id) { // We can manually activate a menu with it's id (for hash url mapping) - $menu = $('a[data-menu=' + id + ']', this.$element); + $menu = this.$element.find('a[data-menu=' + id + ']'); if (!$menu.length) { - $menu = $('a[data-menu=' + id + ']', this.$secondary_menu); + $menu = this.$secondary_menu.find('a[data-menu=' + id + ']'); } } else { $menu = $(ev.currentTarget); - id = parseInt($menu.attr('data-menu')); + id = $menu.data('menu'); } if (this.$secondary_menu.has($menu).length) { $secondary = $menu.parents('.menu_accordion'); - var parent_id = $secondary.attr('data-menu-parent'); - $parent = $('a[data-menu=' + parent_id + ']', this.$element); + $parent = this.$element.find('a[data-menu=' + $secondary.data('menu-parent') + ']'); } else { $parent = $menu; $secondary = this.$secondary_menu.find('.menu_accordion[data-menu-parent=' + $menu.attr('data-menu') + ']');