summaryrefslogtreecommitdiff
path: root/ishtar_common/menu_base.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2014-05-13 00:43:50 +0200
committerÉtienne Loks <etienne.loks@proxience.com>2014-05-13 00:43:50 +0200
commit0cd045c005f1acdfb74430ce62626771ebbaa8cc (patch)
tree6490929bc2b5adea6ec41971837d4f9db46a06d4 /ishtar_common/menu_base.py
parent46c52f0ce3f76bc8abe5f47318f8304cdc368fa3 (diff)
downloadIshtar-0cd045c005f1acdfb74430ce62626771ebbaa8cc.tar.bz2
Ishtar-0cd045c005f1acdfb74430ce62626771ebbaa8cc.zip
Work on new design
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