summaryrefslogtreecommitdiff
path: root/ishtar_common/menus.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/menus.py')
-rw-r--r--ishtar_common/menus.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/ishtar_common/menus.py b/ishtar_common/menus.py
index e55b288bf..36b53b162 100644
--- a/ishtar_common/menus.py
+++ b/ishtar_common/menus.py
@@ -59,12 +59,20 @@ class Menu:
self.current_action = current_action
self.selected_idx = None
self.session = session
+ self.items_by_idx = {}
def init(self):
if self.initialized:
return
self.items = {}
+ self.items_by_idx = {}
for idx, main_menu in enumerate(self.childs):
+ self.items_by_idx[main_menu.idx] = main_menu
+ for child in main_menu.childs:
+ self.items_by_idx[child.idx] = child
+ if hasattr(child, 'childs'):
+ for subchild in child.childs:
+ self.items_by_idx[subchild.idx] = subchild
selected = main_menu.set_items(
self.user, self.items,
self.current_action, session=self.session)