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) | 
