diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2015-12-08 02:26:03 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2015-12-08 02:26:03 +0100 |
commit | 544cb74d6d49deb73ace116df02716adc5b6a464 (patch) | |
tree | 5ea46df7c455810a61d3e278a80d6259c645a286 /ishtar_common/menus.py | |
parent | 35a972ad5de7aa8191da0463457255b868258ec9 (diff) | |
download | Ishtar-544cb74d6d49deb73ace116df02716adc5b6a464.tar.bz2 Ishtar-544cb74d6d49deb73ace116df02716adc5b6a464.zip |
Use cache for faster rights checking
Diffstat (limited to 'ishtar_common/menus.py')
-rw-r--r-- | ishtar_common/menus.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/ishtar_common/menus.py b/ishtar_common/menus.py index 6333a4197..e55b288bf 100644 --- a/ishtar_common/menus.py +++ b/ishtar_common/menus.py @@ -22,10 +22,7 @@ Menus """ from django.conf import settings -from django.utils.translation import ugettext_lazy as _ -from menu_base import SectionItem, MenuItem -import models _extra_menus = [] # collect menu from INSTALLED_APPS @@ -36,8 +33,8 @@ for app in settings.INSTALLED_APPS: _extra_menus += menu.MENU_SECTIONS # sort -__section_items = [menu for order, menu in sorted(_extra_menus, - key=lambda x:x[0])] +__section_items = [mnu for order, mnu in sorted(_extra_menus, + key=lambda x:x[0])] # regroup menus _section_items, __keys = [], [] for section_item in __section_items: @@ -51,22 +48,26 @@ for section_item in __section_items: if child.idx not in childs_idx: section_childs.append(child) + class Menu: childs = _section_items - def __init__(self, user, current_action=None): + + def __init__(self, user, current_action=None, session=None): self.user = user self.initialized = False self.items = {} self.current_action = current_action self.selected_idx = None + self.session = session def init(self): if self.initialized: return self.items = {} for idx, main_menu in enumerate(self.childs): - selected = main_menu.set_items(self.user, self.items, - self.current_action) + selected = main_menu.set_items( + self.user, self.items, + self.current_action, session=self.session) if selected: self.selected_idx = idx self.initialized = True |