summaryrefslogtreecommitdiff
path: root/ishtar_common/menus.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-06-27 14:58:06 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-06-27 14:58:06 +0200
commitac860a4d14c9aa9580753fb0c832199fcb24ec95 (patch)
treef6429135aa9a49e6eb3ec904024a52ae926ef19c /ishtar_common/menus.py
parent82106b7a7a7330b486e48702aa4315299f47d322 (diff)
downloadIshtar-ac860a4d14c9aa9580753fb0c832199fcb24ec95.tar.bz2
Ishtar-ac860a4d14c9aa9580753fb0c832199fcb24ec95.zip
Fix cache menu issue
Diffstat (limited to 'ishtar_common/menus.py')
-rw-r--r--ishtar_common/menus.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/ishtar_common/menus.py b/ishtar_common/menus.py
index 74ef714eb..6d51323ab 100644
--- a/ishtar_common/menus.py
+++ b/ishtar_common/menus.py
@@ -21,6 +21,7 @@
Menus
"""
+from copy import deepcopy
import datetime
from django.conf import settings
@@ -55,7 +56,7 @@ for section_item in __section_items:
class Menu:
- childs = _section_items
+ ref_childs = _section_items
def __init__(self, user, current_action=None, session=None):
self.user = user
@@ -129,10 +130,10 @@ class Menu:
self.set_menu_updated_key(cache_key, user_id)
self.items = {}
self.items_by_idx = {}
- childs = self.childs[:]
- for idx, main_menu in enumerate(reversed(self.childs)):
+ childs = deepcopy(self.ref_childs)
+ for idx, main_menu in enumerate(reversed(childs)):
if not main_menu.can_be_available(self.user, self.session):
- childs.pop(len(self.childs) - idx - 1)
+ childs.pop(len(self.ref_childs) - idx - 1)
continue
self.items_by_idx[main_menu.idx] = main_menu
sub_childs = main_menu.childs[:]