mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-09-20 02:29:24 +08:00
分配模块
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
using Infrastructure;
|
||||
using OpenAuth.App;
|
||||
using OpenAuth.Domain;
|
||||
using System;
|
||||
using System.Web.Mvc;
|
||||
using OpenAuth.App.SSO;
|
||||
using OpenAuth.App.ViewModel;
|
||||
using OpenAuth.Domain;
|
||||
using OpenAuth.Mvc.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace OpenAuth.Mvc.Controllers
|
||||
{
|
||||
@@ -29,9 +32,62 @@ namespace OpenAuth.Mvc.Controllers
|
||||
{
|
||||
ViewBag.FirstId = firstId;
|
||||
ViewBag.ModuleType = key;
|
||||
|
||||
var moduleWithChildren = AuthUtil.GetCurrentUser().ModuleWithChildren;
|
||||
var modules = key == "UserModule" ? _app.LoadForUser(firstId) : _app.LoadForRole(firstId);
|
||||
|
||||
CheckModule(moduleWithChildren, modules);
|
||||
|
||||
ViewBag.Modules = BuilderModules(moduleWithChildren);
|
||||
|
||||
return View();
|
||||
}
|
||||
|
||||
private void CheckModule(IEnumerable<TreeItem<ModuleView>> moduleWithChildren, List<Module> modules)
|
||||
{
|
||||
foreach (var module in moduleWithChildren)
|
||||
{
|
||||
if (module.Children.Any())
|
||||
{
|
||||
CheckModule(module.Children, modules);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (modules.Select(u => u.Id).Contains(module.Item.Id))
|
||||
{
|
||||
module.Item.Checked = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string BuilderModules(IEnumerable<TreeItem<ModuleView>> modules)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (var moduleView in modules)
|
||||
{
|
||||
if (moduleView.Children.Any())
|
||||
{
|
||||
sb.Append("<div class=\"layui-form-item\">\r\n");
|
||||
sb.Append("<label class=\"layui-form-label\">" + moduleView.Item.Name + "</label>\r\n");
|
||||
sb.Append("<div class=\"layui-input-block\">\r\n");
|
||||
sb.Append(BuilderModules(moduleView.Children));
|
||||
sb.Append("</div>\r\n");
|
||||
sb.Append("</div>\r\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
sb.Append("<input type=\"checkbox\" name=\"like[dai]\" title=\"" + moduleView.Item.Name + "\"");
|
||||
if (moduleView.Item.Checked)
|
||||
{
|
||||
sb.Append(" checked");
|
||||
}
|
||||
sb.Append(">\r\n");
|
||||
}
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载模块下面的所有模块
|
||||
/// </summary>
|
||||
@@ -45,7 +101,7 @@ namespace OpenAuth.Mvc.Controllers
|
||||
/// </summary>
|
||||
public string LoadForTree()
|
||||
{
|
||||
var orgs = AuthUtil.GetCurrentUser().Modules;
|
||||
var orgs = AuthUtil.GetCurrentUser().ModuleWithChildren;
|
||||
return JsonHelper.Instance.Serialize(orgs);
|
||||
}
|
||||
|
||||
@@ -55,30 +111,8 @@ namespace OpenAuth.Mvc.Controllers
|
||||
return JsonHelper.Instance.Serialize(orgs);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载用户模块
|
||||
/// </summary>
|
||||
/// <param name="firstId">The user identifier.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
public string LoadForUser(Guid firstId)
|
||||
{
|
||||
var orgs = _app.LoadForUser(firstId);
|
||||
return JsonHelper.Instance.Serialize(orgs);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 加载角色模块
|
||||
/// </summary>
|
||||
/// <param name="firstId">The role identifier.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
public string LoadForRole(Guid firstId)
|
||||
{
|
||||
var orgs = _app.LoadForRole(firstId);
|
||||
return JsonHelper.Instance.Serialize(orgs);
|
||||
}
|
||||
|
||||
|
||||
#region 添加编辑模块
|
||||
|
||||
//添加或修改模块
|
||||
[HttpPost]
|
||||
public string Add(Module model)
|
||||
@@ -89,7 +123,7 @@ namespace OpenAuth.Mvc.Controllers
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Result.Status = false;
|
||||
Result.Status = false;
|
||||
Result.Message = ex.Message;
|
||||
}
|
||||
return JsonHelper.Instance.Serialize(Result);
|
||||
@@ -107,13 +141,13 @@ namespace OpenAuth.Mvc.Controllers
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Result.Status = false;
|
||||
Result.Status = false;
|
||||
Result.Message = e.Message;
|
||||
}
|
||||
|
||||
return JsonHelper.Instance.Serialize(Result);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion 添加编辑模块
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user