diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index 6c91a3b1633..9c3aeb55b12 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -139,8 +139,10 @@ class Menu(openerpweb.Controller): # make a tree using parent_id menu_items_map = dict((menu_item["id"], menu_item) for menu_item in menu_items) for menu_item in menu_items: - if not menu_item['parent_id']: continue - parent = menu_item['parent_id'][0] + if menu_item['parent_id']: + parent = menu_item['parent_id'][0] + else: + parent = False if parent in menu_items_map: menu_items_map[parent].setdefault( 'children', []).append(menu_item) diff --git a/addons/base/tests/test_menu.py b/addons/base/tests/test_menu.py index 1d1e49b6c97..c63b19591aa 100644 --- a/addons/base/tests/test_menu.py +++ b/addons/base/tests/test_menu.py @@ -39,9 +39,9 @@ class LoadTest(unittest2.TestCase): def test_applications_sort(self): self.menus_mock.search = mock.Mock(return_value=[1, 2, 3]) self.menus_mock.read = mock.Mock(return_value=[ - {'id': 2, 'sequence': 3, 'parent_id': [False, '']}, - {'id': 3, 'sequence': 2, 'parent_id': [False, '']}, - {'id': 1, 'sequence': 1, 'parent_id': [False, '']}, + {'id': 2, 'sequence': 3, 'parent_id': False}, + {'id': 3, 'sequence': 2, 'parent_id': False}, + {'id': 1, 'sequence': 1, 'parent_id': False}, ]) root = self.menu.do_load(self.request) @@ -53,19 +53,19 @@ class LoadTest(unittest2.TestCase): root['children'], [{ 'id': 1, 'sequence': 1, - 'parent_id': [False, ''], 'children': [] + 'parent_id': False, 'children': [] }, { 'id': 3, 'sequence': 2, - 'parent_id': [False, ''], 'children': [] + 'parent_id': False, 'children': [] }, { 'id': 2, 'sequence': 3, - 'parent_id': [False, ''], 'children': [] + 'parent_id': False, 'children': [] }]) def test_deep(self): self.menus_mock.search = mock.Mock(return_value=[1, 2, 3, 4]) self.menus_mock.read = mock.Mock(return_value=[ - {'id': 1, 'sequence': 1, 'parent_id': [False, '']}, + {'id': 1, 'sequence': 1, 'parent_id': False}, {'id': 2, 'sequence': 2, 'parent_id': [1, '']}, {'id': 3, 'sequence': 1, 'parent_id': [2, '']}, {'id': 4, 'sequence': 2, 'parent_id': [2, '']}, @@ -78,7 +78,7 @@ class LoadTest(unittest2.TestCase): [{ 'id': 1, 'sequence': 1, - 'parent_id': [False, ''], + 'parent_id': False, 'children': [{ 'id': 2, 'sequence': 2, diff --git a/doc/source/index.rst b/doc/source/index.rst index 10ea0bcd4f1..efa4d1ce812 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -25,4 +25,3 @@ Indices and tables * :ref:`genindex` * :ref:`modindex` * :ref:`search` -