summaryrefslogtreecommitdiff
path: root/ishtar_common/menu_base.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/menu_base.py')
-rw-r--r--ishtar_common/menu_base.py10
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