diff options
Diffstat (limited to 'ishtar_common/menu_base.py')
| -rw-r--r-- | ishtar_common/menu_base.py | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/ishtar_common/menu_base.py b/ishtar_common/menu_base.py index 9ae378b8e..24d63a3e6 100644 --- a/ishtar_common/menu_base.py +++ b/ishtar_common/menu_base.py @@ -37,12 +37,14 @@ class SectionItem:                  return True          return False -    def set_items(self, user, items): +    def set_items(self, user, items, current_action=None): +        selected = None          if user:              self.available = self.can_be_available(user)          for child in self.childs: -            child.set_items(user, items) +            selected = child.set_items(user, items, current_action) or selected              items[child.idx] = child +        return selected  class MenuItem:      def __init__(self, idx, label, model=None, access_controls=[]): @@ -79,7 +81,9 @@ class MenuItem:                  return True          return False -    def set_items(self, user, items): +    def set_items(self, user, items, current_action=None):          if user:              self.available = self.can_be_available(user) +        if self.idx == current_action: +            return True | 
