diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2014-07-21 19:21:27 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2014-07-21 19:21:27 +0200 |
commit | 7014fd98d3eec2f40cc2a574de35bb0c339a94e7 (patch) | |
tree | 5f38e92243a02add2b1e0176585f17f8c4aef7d6 /ishtar_common/context_processors.py | |
parent | a9a1a82a5cc32ea8e5b7a8051de5ff4cd0c6fdc7 (diff) | |
download | Ishtar-7014fd98d3eec2f40cc2a574de35bb0c339a94e7.tar.bz2 Ishtar-7014fd98d3eec2f40cc2a574de35bb0c339a94e7.zip |
Colors and orders in short menu - cache mechanism (refs #1562)
Diffstat (limited to 'ishtar_common/context_processors.py')
-rw-r--r-- | ishtar_common/context_processors.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/ishtar_common/context_processors.py b/ishtar_common/context_processors.py index 293a5ad44..e3b14cdda 100644 --- a/ishtar_common/context_processors.py +++ b/ishtar_common/context_processors.py @@ -44,7 +44,7 @@ def get_base_context(request): dct = {'URL_PATH':settings.URL_PATH} dct["APP_NAME"] = Site.objects.get_current().name dct["COUNTRY"] = settings.COUNTRY - """ + """ if 'MENU' not in request.session or \ request.session['MENU'].user != request.user: menu = Menu(request.user) @@ -66,13 +66,17 @@ def get_base_context(request): dct['current_menu'] = [] for lbl, model in CURRENT_ITEMS: model_name = model.__name__.lower() + cls = '' current = model_name in request.session and request.session[model_name] items = [] - for item in sorted(model.get_owns(request.user), - key=lambda x:x.cached_label): + for item in model.get_owns(request.user): + selected = unicode(item.pk) == current + if selected: + cls = item.get_short_menu_class() items.append((item.pk, shortify(unicode(item), 60), - unicode(item.pk) == current)) + selected, + item.get_short_menu_class())) if items: - dct['current_menu'].append((lbl, model_name, items)) + dct['current_menu'].append((lbl, model_name, cls, items)) return dct |