Commit bac3a2d01c6e4ca0f19c41f541bb2cd3379b1355
1 parent
a191a186
Exists in
master
and in
39 other branches
Added cache in menu
Signed-off-by: Lucas Kanashiro <kanashiro.duarte@gmail.com> Signed-off-by: Sergio Oliveira <sergio@tracy.com.br>
Showing
1 changed file
with
12 additions
and
0 deletions
Show diff stats
colab/proxy/templatetags/proxy.py
1 | 1 | ||
2 | from django.core.urlresolvers import reverse | 2 | from django.core.urlresolvers import reverse |
3 | from django import template | 3 | from django import template |
4 | +from django.core.cache import cache | ||
4 | 5 | ||
5 | register = template.Library() | 6 | register = template.Library() |
6 | 7 | ||
@@ -20,6 +21,16 @@ PROXY_MENU_ITEM_TEMPLATE = """ | @@ -20,6 +21,16 @@ PROXY_MENU_ITEM_TEMPLATE = """ | ||
20 | 21 | ||
21 | @register.simple_tag(takes_context=True) | 22 | @register.simple_tag(takes_context=True) |
22 | def proxy_menu(context): | 23 | def proxy_menu(context): |
24 | + if context['user'].is_authenticated(): | ||
25 | + cache_key = 'colab-proxy-menu-authenticated' | ||
26 | + else: | ||
27 | + cache_key = 'colab-proxy-menu-anonymous' | ||
28 | + | ||
29 | + menu_from_cache = cache.get(cache_key) | ||
30 | + | ||
31 | + if menu_from_cache: | ||
32 | + return menu_from_cache | ||
33 | + | ||
23 | menu_links = {} | 34 | menu_links = {} |
24 | proxied_apps = context.get('proxy', {}) | 35 | proxied_apps = context.get('proxy', {}) |
25 | 36 | ||
@@ -51,4 +62,5 @@ def proxy_menu(context): | @@ -51,4 +62,5 @@ def proxy_menu(context): | ||
51 | link_title=unicode(text)) | 62 | link_title=unicode(text)) |
52 | menu += PROXY_MENU_TEMPLATE.format(title=unicode(title), items=items) | 63 | menu += PROXY_MENU_TEMPLATE.format(title=unicode(title), items=items) |
53 | 64 | ||
65 | + cache.set(cache_key, menu) | ||
54 | return menu | 66 | return menu |