Skip to content

Commit

Permalink
菜单权限整理 #232
Browse files Browse the repository at this point in the history
  • Loading branch information
SeriaWei committed Oct 19, 2018
1 parent 7a3925b commit c595274
Show file tree
Hide file tree
Showing 5 changed files with 85 additions and 51 deletions.
2 changes: 1 addition & 1 deletion src/ZKEACMS.FormGenerator/FormPlug.cs
Expand Up @@ -54,7 +54,7 @@ public override IEnumerable<AdminMenu> AdminMenu()
}
},
Icon = "glyphicon-list-alt",
Order = 10
Order = 12
};
}

Expand Down
9 changes: 5 additions & 4 deletions src/ZKEACMS.Redirection/RedirectionPlug.cs
Expand Up @@ -35,6 +35,7 @@ public override IEnumerable<AdminMenu> AdminMenu()
{
yield return new AdminMenu
{
Group = "系统",
Title = "URL重定向",
Url = "~/Admin/UrlRedirection",
Icon = "glyphicon-random",
Expand All @@ -57,15 +58,15 @@ public override IEnumerable<PermissionDescriptor> RegistPermission()
{
yield return new PermissionDescriptor
{
Module = "URL重定向",
Title = "查看重定向",
Module = "设置",
Title = "查看URL重定向",
Description = "查看重定向",
Key = PermissionKeys.ViewUrlRedirect
};
yield return new PermissionDescriptor
{
Module = "URL重定向",
Title = "管理重定向",
Module = "设置",
Title = "管理URL重定向",
Description = "管理重定向",
Key = PermissionKeys.ManageUrlRedirect
};
Expand Down
83 changes: 47 additions & 36 deletions src/ZKEACMS/AdminMenu.cs
Expand Up @@ -15,6 +15,7 @@ public class AdminMenu
public int Order { get; set; }
public string PermissionKey { get; set; }
public Func<bool> HasPermission { get; set; }
public string Group { get; set; }
public IEnumerable<AdminMenu> Children { get; set; }
}
public static class AdminMenus
Expand Down Expand Up @@ -59,47 +60,57 @@ public static class AdminMenus
Order = 2,
PermissionKey = PermissionKeys.ViewPage
},

new AdminMenu
{
Title = "全局内容",
Icon = "glyphicon-cloud",
Url = "~/admin/Rule",
Title = "基础内容",
Icon = "glyphicon-tree-deciduous",
Order = 3,
PermissionKey = PermissionKeys.ViewPage
},
new AdminMenu
{
Title = "导航",
Icon = "glyphicon-retweet",
Url = "~/admin/Navigation",
Order = 4,
PermissionKey = PermissionKeys.ViewNavigation
Children = new List<AdminMenu>
{
new AdminMenu
{
Title = "条件规则",
Icon = "glyphicon-cloud",
Url = "~/admin/Rule",
Order = 1,
PermissionKey = PermissionKeys.ViewPage
},
new AdminMenu
{
Title = "导航",
Icon = "glyphicon-retweet",
Url = "~/admin/Navigation",
Order = 2,
PermissionKey = PermissionKeys.ViewNavigation
},
new AdminMenu
{
Title = "焦点图",
Icon = "glyphicon-eye-open",
Url = "~/admin/Carousel",
Order = 3,
PermissionKey = PermissionKeys.ViewCarousel
},
new AdminMenu
{
Title = "媒体库",
Icon = "glyphicon-picture",
Url = "~/admin/Media",
Order = 4,
PermissionKey = PermissionKeys.ViewMedia
}
}
},
new AdminMenu
{
Title = "主题",
Icon = "glyphicon-blackboard",
Url = "~/admin/Theme",
Order = 5,
Order = 4,
PermissionKey = PermissionKeys.ViewTheme
},
new AdminMenu
{
Title = "媒体库",
Icon = "glyphicon-picture",
Url = "~/admin/Media",
Order = 6,
PermissionKey = PermissionKeys.ViewMedia
},
new AdminMenu
{
Title = "焦点图",
Icon = "glyphicon-eye-open",
Url = "~/admin/Carousel",
Order = 7,
PermissionKey = PermissionKeys.ViewCarousel
},
new AdminMenu
{
Title = "系统",
Icon = "glyphicon-cog",
Expand Down Expand Up @@ -155,19 +166,19 @@ public static class AdminMenus
},
new AdminMenu
{
Title = "其它设置",
Title = "翻译",
Icon = "glyphicon-cog",
Url = "~/admin/ApplicationSetting",
Url = "~/admin/Language",
Order = 7,
PermissionKey = PermissionKeys.ViewApplicationSetting
PermissionKey = PermissionKeys.ManageLanguage
},
new AdminMenu
{
Title = "翻译",
Title = "其它设置",
Icon = "glyphicon-cog",
Url = "~/admin/Language",
Order = 8,
PermissionKey = PermissionKeys.ManageLanguage
Url = "~/admin/ApplicationSetting",
Order = 100,
PermissionKey = PermissionKeys.ViewApplicationSetting
}
}
}
Expand Down
22 changes: 22 additions & 0 deletions src/ZKEACMS/AdminMenuProvider.cs
@@ -1,6 +1,7 @@
/* http://www.zkea.net/
* Copyright (c) ZKEASOFT. All rights reserved.
* http://www.zkea.net/licenses */
using Easy.Extend;
using System;
using System.Collections.Generic;
using System.Linq;
Expand All @@ -13,6 +14,27 @@ public class AdminMenuProvider : IAdminMenuProvider
{
public IEnumerable<AdminMenu> GetAdminMenus()
{
if (AdminMenus.Menus.Any(m => m.Group.IsNotNullAndWhiteSpace()))
{
for (int i = 0; i < AdminMenus.Menus.Count; i++)
{
AdminMenu item = AdminMenus.Menus[i];
if (item.Group.IsNotNullAndWhiteSpace())
{
var group = AdminMenus.Menus.FirstOrDefault(m => m.Title == item.Group);
if (group != null && group.Children != null)
{
group.Children = group.Children.Concat(new AdminMenu[] { item });
AdminMenus.Menus.RemoveAt(i);
i--;
}
else
{
item.Group = null;
}
}
}
}
foreach (var item in AdminMenus.Menus)
{
yield return item;
Expand Down
20 changes: 10 additions & 10 deletions src/ZKEACMS/PermissionKeys.cs
Expand Up @@ -44,18 +44,18 @@ public class PermissionKeys

public static List<PermissionDescriptor> KnownPermissions = new List<PermissionDescriptor>
{
new PermissionDescriptor { Module="页面",Title="查看页面",Key=ViewPage,Description="查看页面" },
new PermissionDescriptor { Module="页面",Title="管理页面",Key=ManagePage,Description="管理页面" },
new PermissionDescriptor { Module="布局",Title="查看布局",Key=ViewLayout,Description="查看布局" },
new PermissionDescriptor { Module="布局",Title="管理布局",Key=ManageLayout,Description="管理布局" },
new PermissionDescriptor { Module="导航",Title="查看导航",Key=ViewNavigation,Description="查看导航" },
new PermissionDescriptor { Module="导航",Title="管理导航",Key=ManageNavigation,Description="管理导航" },
new PermissionDescriptor { Module="页面布局",Title="查看页面",Key=ViewPage,Description="查看页面" },
new PermissionDescriptor { Module="页面布局",Title="管理页面",Key=ManagePage,Description="管理页面" },
new PermissionDescriptor { Module="页面布局",Title="查看布局",Key=ViewLayout,Description="查看布局" },
new PermissionDescriptor { Module="页面布局",Title="管理布局",Key=ManageLayout,Description="管理布局" },
new PermissionDescriptor { Module="基础内容",Title="查看导航",Key=ViewNavigation,Description="查看导航" },
new PermissionDescriptor { Module="基础内容",Title="管理导航",Key=ManageNavigation,Description="管理导航" },
new PermissionDescriptor { Module="基础内容",Title="查看媒体库",Key=ViewMedia,Description="查看媒体库" },
new PermissionDescriptor { Module="基础内容",Title="管理媒体库",Key=ManageMedia,Description="管理媒体库" },
new PermissionDescriptor { Module="基础内容",Title="查看焦点图",Key=ViewCarousel,Description="查看焦点图" },
new PermissionDescriptor { Module="基础内容",Title="管理焦点图",Key=ManageCarousel,Description="管理焦点图" },
new PermissionDescriptor { Module="主题",Title="查看主题",Key=ViewTheme,Description="查看主题" },
new PermissionDescriptor { Module="主题",Title="管理主题",Key=ManageTheme,Description="管理主题" },
new PermissionDescriptor { Module="媒体库",Title="查看媒体库",Key=ViewMedia,Description="查看媒体库" },
new PermissionDescriptor { Module="媒体库",Title="管理媒体库",Key=ManageMedia,Description="管理媒体库" },
new PermissionDescriptor { Module="焦点图",Title="查看焦点图",Key=ViewCarousel,Description="查看焦点图" },
new PermissionDescriptor { Module="焦点图",Title="管理焦点图",Key=ManageCarousel,Description="管理焦点图" },
new PermissionDescriptor { Module="安全",Title="查看用户",Key=ViewUser,Description="查看用户" },
new PermissionDescriptor { Module="安全",Title="管理用户",Key=ManageUser,Description="管理用户" },
new PermissionDescriptor { Module="安全",Title="查看角色",Key=ViewRole,Description="查看角色" },
Expand Down

0 comments on commit c595274

Please sign in to comment.