summaryrefslogtreecommitdiff
path: root/ishtar_common/context_processors.py
diff options
context:
space:
mode:
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
commita27dca4b361b0d2f46a20f9ac2719ef811c093e0 (patch)
tree5f38e92243a02add2b1e0176585f17f8c4aef7d6 /ishtar_common/context_processors.py
parent0cc64347e47a0c3117bb4514e6b966f651f552f4 (diff)
downloadIshtar-a27dca4b361b0d2f46a20f9ac2719ef811c093e0.tar.bz2
Ishtar-a27dca4b361b0d2f46a20f9ac2719ef811c093e0.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.py14
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