diff --git a/simpleui/templates/admin/index.html b/simpleui/templates/admin/index.html
index 33860a77d5b10bda24b0f9e1d6f172c08e2ef4ef..4aa84df56b0ba00777f56ec36f840abeb529e52b 100755
--- a/simpleui/templates/admin/index.html
+++ b/simpleui/templates/admin/index.html
@@ -50,7 +50,7 @@
{% block menus %}
{% autoescape off %}
- {% menus %}
+ {% menus req=request %}
{% endautoescape %}
{% endblock %}
diff --git a/simpleui/templatetags/simpletags.py b/simpleui/templatetags/simpletags.py
index 3653e5015d8ce50bcf420f453b7afe4831d8ebf3..8b45d3b16df621a5259f5400cf36a11f4eaef650 100644
--- a/simpleui/templatetags/simpletags.py
+++ b/simpleui/templatetags/simpletags.py
@@ -178,7 +178,12 @@ def format_table(d):
@register.simple_tag(takes_context=True)
-def menus(context, _get_config=None):
+def menus(context, _get_config=None,**kwargs):
+ #获取request对象
+ is_superuser_flag = False
+ req = kwargs.get("req",None)
+ if req:
+ is_superuser_flag = req.user.is_superuser
data = []
# return request.user.has_perm("%s.%s" % (opts.app_label, codename))
@@ -244,16 +249,19 @@ def menus(context, _get_config=None):
else:
data = config.get('menus')
- # 获取侧边栏排序, 如果设置了就按照设置的内容排序, 留空则表示默认排序以及全部显示
- if config.get('menu_display') is not None:
- display_data = list()
- for _app in data:
- if _app['name'] not in config.get('menu_display'):
- continue
- _app['_weight'] = config.get('menu_display').index(_app['name'])
- display_data.append(_app)
- display_data.sort(key=lambda x: x['_weight'])
- data = display_data
+ #管理员menu_display_admin_skip 设置为True,就跳过菜单显示过滤
+ if is_superuser_flag and (config.get("menu_display_admin_skip") is False or config.get("menu_display_admin_skip") is None):
+ # 获取侧边栏排序, 如果设置了就按照设置的内容排序, 留空则表示默认排序以及全部显示
+ if config.get('menu_display') is not None:
+ display_data = list()
+ for _app in data:
+ if _app['name'] not in config.get('menu_display'):
+ continue
+ _app['_weight'] = config.get('menu_display').index(_app['name'])
+ display_data.append(_app)
+ display_data.sort(key=lambda x: x['_weight'])
+ data = display_data
+
# 给每个菜单增加一个唯一标识,用于tab页判断
eid = 1000