diff options
Diffstat (limited to 'ishtar_common/menus.py')
-rw-r--r-- | ishtar_common/menus.py | 8 |
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) |