diff options
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 |
commit | 0cd045c005f1acdfb74430ce62626771ebbaa8cc (patch) | |
tree | 6490929bc2b5adea6ec41971837d4f9db46a06d4 /ishtar_common/menu_base.py | |
parent | 46c52f0ce3f76bc8abe5f47318f8304cdc368fa3 (diff) | |
download | Ishtar-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.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 |