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 |