From bac3a2d01c6e4ca0f19c41f541bb2cd3379b1355 Mon Sep 17 00:00:00 2001 From: Sergio Oliveira Date: Tue, 11 Nov 2014 12:04:09 -0200 Subject: [PATCH] Added cache in menu --- colab/proxy/templatetags/proxy.py | 12 ++++++++++++ 1 file changed, 12 insertions(+), 0 deletions(-) diff --git a/colab/proxy/templatetags/proxy.py b/colab/proxy/templatetags/proxy.py index cfddd74..1b4d2d7 100644 --- a/colab/proxy/templatetags/proxy.py +++ b/colab/proxy/templatetags/proxy.py @@ -1,6 +1,7 @@ from django.core.urlresolvers import reverse from django import template +from django.core.cache import cache register = template.Library() @@ -20,6 +21,16 @@ PROXY_MENU_ITEM_TEMPLATE = """ @register.simple_tag(takes_context=True) def proxy_menu(context): + if context['user'].is_authenticated(): + cache_key = 'colab-proxy-menu-authenticated' + else: + cache_key = 'colab-proxy-menu-anonymous' + + menu_from_cache = cache.get(cache_key) + + if menu_from_cache: + return menu_from_cache + menu_links = {} proxied_apps = context.get('proxy', {}) @@ -51,4 +62,5 @@ def proxy_menu(context): link_title=unicode(text)) menu += PROXY_MENU_TEMPLATE.format(title=unicode(title), items=items) + cache.set(cache_key, menu) return menu -- libgit2 0.21.2