check issue #6

This commit is contained in:
yubaolee 2016-01-07 15:55:53 +08:00
parent f0b42e83d4
commit 5317e07ae5
6 changed files with 34 additions and 29 deletions

View File

@ -96,15 +96,17 @@ namespace OpenAuth.App
_repository.Delete(u =>u.Id ==id);
}
public void AssignForRole(int roleId, int[] menuIds)
public void AssignForRole(int roleId,int moduleId, int[] menuIds)
{
_relevanceRepository.DeleteBy("RoleElement", roleId);
var elements = _repository.Find(u => u.ModuleId == moduleId).Select(u =>u.Id);
_relevanceRepository.Delete(u =>elements.Contains(u.SecondId) &&u.Key =="RoleElement" && u.FirstId == roleId);
_relevanceRepository.AddRelevance("RoleElement", menuIds.ToLookup(u => roleId));
}
public void AssignForUser(int userId, int[] ids)
public void AssignForUser(int userId, int moduleId, int[] ids)
{
_relevanceRepository.DeleteBy("UserElement", userId);
var elements = _repository.Find(u => u.ModuleId == moduleId).Select(u => u.Id);
_relevanceRepository.Delete(u => elements.Contains(u.SecondId) && u.Key == "UserElement" && u.FirstId == userId);
_relevanceRepository.AddRelevance("UserElement", ids.ToLookup(u => userId));
}
}

View File

@ -39,7 +39,7 @@ namespace OpenAuth.App.ViewModel
/// <summary>
/// 用户可访问的机构
/// </summary>
public List<Org> AccessedOrgs { get; set; }
public IEnumerable<Org> AccessedOrgs { get; set; }
}
}

View File

@ -77,13 +77,21 @@ namespace OpenAuth.Mvc.Controllers
ViewBag.RoleId = roleId;
return View();
}
/// <summary>
/// 为角色分配菜单
/// </summary>
/// <param name="roleId">角色ID</param>
/// <param name="moduleId">模块ID</param>
/// <param name="menuIds">菜单ID列表</param>
/// <returns></returns>
[HttpPost]
public string AssignForRole(int roleId, string menuIds)
public string AssignForRole(int roleId,int moduleId, string menuIds)
{
try
{
var ids = menuIds.Split(',').Select(id => int.Parse(id)).ToArray();
_app.AssignForRole(roleId, ids);
_app.AssignForRole(roleId,moduleId, ids);
}
catch (Exception e)
{
@ -106,13 +114,20 @@ namespace OpenAuth.Mvc.Controllers
ViewBag.UserId = userId;
return View();
}
/// <summary>
/// 为用户分配菜单
/// </summary>
/// <param name="userId">用户ID</param>
/// <param name="moduleId">模块ID</param>
/// <param name="menuIds">菜单ID列表</param>
/// <returns></returns>
[HttpPost]
public string AssignForUser(int userId, string menuIds)
public string AssignForUser(int userId,int moduleId, string menuIds)
{
try
{
var ids = menuIds.Split(',').Select(id => int.Parse(id)).ToArray();
_app.AssignForUser(userId, ids);
_app.AssignForUser(userId,moduleId, ids);
}
catch (Exception e)
{

View File

@ -3,6 +3,7 @@ using OpenAuth.App;
using OpenAuth.Domain;
using OpenAuth.Mvc.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Infrastructure.Helper;
@ -59,16 +60,15 @@ namespace OpenAuth.Mvc.Controllers
var orgs = SessionHelper.GetSessionUser<LoginUserVM>().AccessedOrgs;
return JsonHelper.Instance.Serialize(orgs);
}
public string LoadOrgWithRoot()
public string LoadOrg()
{
var orgs = SessionHelper.GetSessionUser<LoginUserVM>().AccessedOrgs;
var orgs = SessionHelper.GetSessionUser<LoginUserVM>().AccessedOrgs.MapToList<Org>();
//添加根节点
orgs.Add(new Org
{
Id = 0,
ParentId = -1,
Name = "根点",
Name = "根点",
CascadeId = "0"
});
return JsonHelper.Instance.Serialize(orgs);
@ -164,21 +164,7 @@ namespace OpenAuth.Mvc.Controllers
}
return JsonHelper.Instance.Serialize(BjuiResponse);
}
public string LoadOrg()
{
var orgs = _orgApp.GetAll();
//添加根节点
orgs.Add(new Org
{
Id = 0,
ParentId = -1,
Name = "根结点",
CascadeId = "0"
});
return JsonHelper.Instance.Serialize(orgs);
}
public string LoadChildren(int id)
{
return JsonHelper.Instance.Serialize(_orgApp.LoadAllChildren(id));

View File

@ -117,7 +117,8 @@
$.post("ModuleElementManager/AssignForRole",
{
roleId:$('#roleId').val(),
roleId: $('#roleId').val(),
moduleId: selectedId,
menuIds: selected
},
function (data) {

View File

@ -115,6 +115,7 @@
$.post("ModuleElementManager/AssignForUser",
{
userId: $('#userId').val(),
moduleId:selectedId,
menuIds: selected
},
function (data) {