Commit 6c02b802 authored by Serge S. Koval's avatar Serge S. Koval

Optional url caching for MenuView

parent 162ea8e6
...@@ -81,13 +81,14 @@ class MenuView(BaseMenu): ...@@ -81,13 +81,14 @@ class MenuView(BaseMenu):
""" """
Admin view menu item Admin view menu item
""" """
def __init__(self, name, view=None): def __init__(self, name, view=None, cache=True):
super(MenuView, self).__init__(name, super(MenuView, self).__init__(name,
class_name=view.menu_class_name, class_name=view.menu_class_name,
icon_type=view.menu_icon_type, icon_type=view.menu_icon_type,
icon_value=view.menu_icon_value) icon_value=view.menu_icon_value)
self._view = view self._view = view
self._cache = cache
self._cached_url = None self._cached_url = None
view.menu = self view.menu = self
...@@ -99,8 +100,12 @@ class MenuView(BaseMenu): ...@@ -99,8 +100,12 @@ class MenuView(BaseMenu):
if self._cached_url: if self._cached_url:
return self._cached_url return self._cached_url
self._cached_url = self._view.get_url('%s.%s' % (self._view.endpoint, self._view._default_view)) url = self._view.get_url('%s.%s' % (self._view.endpoint, self._view._default_view))
return self._cached_url
if self._cache:
self._cached_url = url
return url
def is_active(self, view): def is_active(self, view):
if view == self._view: if view == self._view:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment