public async Task <ActionResult> PublishPermissions(int id = 0, int IdType = 1) { UserGroupsEntity userGroupsEntity = null; UsersEntity usersEntity = null; var permissionsViewModels = new PublishPermissionsViewModel(); if (IdType == 1) { if (id <= 0 && id != -2) { Utility.WriteMessage("权限配置必须指定会员组", "mClose"); return(View(permissionsViewModels)); } userGroupsEntity = await _UserGroupsService.GetAsync(p => p.GroupID == id); if (userGroupsEntity == null) { Utility.WriteMessage("指定的会员组不存在", "mClose"); return(View(permissionsViewModels)); } permissionsViewModels.PurviewEntity = userGroupsEntity.UserGroupPurview; } else if (IdType == 0) { if (id <= 0) { Utility.WriteMessage("权限配置必须指定会员", "mClose"); return(View(permissionsViewModels)); } usersEntity = await _UsersService.GetAsync(p => p.UserID == id); if (usersEntity == null) { Utility.WriteMessage("指定的会员不存在", "mClose"); return(View(permissionsViewModels)); } permissionsViewModels.PurviewEntity = usersEntity.UserPurview; } else { Utility.WriteMessage("权限类型没有指定", "mClose"); return(View(permissionsViewModels)); } if (permissionsViewModels.PurviewEntity == null) { permissionsViewModels.PurviewEntity = new UserPurviewEntity(); } permissionsViewModels.IdType = IdType; permissionsViewModels.NodeList = _NodesService.GetNodeListByContainer(); permissionsViewModels.GroupNodePermissionsList = await _UserGroupsService.GetNodePermissionsById(id, -3, OperateCode.None, IdType); return(View(permissionsViewModels)); }
public async Task <ActionResult> UserGroupFrontPermissions(int id = 0, int IdType = 1) { UserGroupsEntity userGroupsEntity = null; UsersEntity usersEntity = null; var permissionsViewModels = new PublishPermissionsViewModel(); if (IdType == 1) { if (id <= 0 && id != -2) { Utility.WriteMessage("权限配置必须指定会员组", "mClose"); return(View(permissionsViewModels)); } userGroupsEntity = await _UserGroupsService.GetAsync(p => p.GroupID == id); if (userGroupsEntity == null) { Utility.WriteMessage("指定的会员组不存在", "mClose"); return(View(permissionsViewModels)); } permissionsViewModels.PurviewEntity = userGroupsEntity.UserGroupPurview; } else if (IdType == 0) { if (id <= 0) { Utility.WriteMessage("权限配置必须指定会员", "mClose"); return(View(permissionsViewModels)); } usersEntity = await _UsersService.GetAsync(p => p.UserID == id); if (usersEntity == null) { Utility.WriteMessage("指定的会员不存在", "mClose"); return(View(permissionsViewModels)); } permissionsViewModels.PurviewEntity = usersEntity.UserPurview; } else { Utility.WriteMessage("权限类型没有指定", "mClose"); return(View(permissionsViewModels)); } if (permissionsViewModels.PurviewEntity == null) { permissionsViewModels.PurviewEntity = new UserPurviewEntity(); } var nodeList = new List <NodesEntity>(); var nodeListTemp = _NodesService.GetNodeListByContainer(); foreach (var item in nodeListTemp) { string BeginTag = _NodesService.GetTreeLine(item.Depth, item.ParentPath, item.NextID, item.Child); string EndTag = _NodesService.GetNodeDir(item.Child, (NodeType)item.NodeType, item.NodeDir); if (item.NodeName == "所有栏目") { BeginTag = BeginTag + "<span style='color:red'>"; EndTag = "</span>" + EndTag; } else { //根据父节点的栏目权限和当前节点的栏目权限,确定当前节点的栏目权限 int purviewType = 0; if (item.ParentID > 0) { purviewType = _NodesService.GetCacheNodeById(item.ParentID).PurviewType; } if (purviewType < item.PurviewType) { purviewType = item.PurviewType; } item.PurviewType = purviewType; } item.NodeName = BeginTag + item.NodeName + EndTag; nodeList.Add(item); } permissionsViewModels.IdType = IdType; permissionsViewModels.NodeList = nodeList; permissionsViewModels.GroupNodePermissionsList = await _UserGroupsService.GetNodePermissionsById(id, -3, OperateCode.None, IdType); return(View(permissionsViewModels)); }
public async Task <ActionResult> PublishPermissions(int id, int IdType, PublishPermissionsViewModel viewModel, IFormCollection collection = null) { UserGroupsEntity userGroupsEntity = null; UsersEntity usersEntity = null; UserPurviewEntity userPurviewEntity = null; if (IdType == 1) { if (id <= 0 && id != -2) { Utility.WriteMessage("权限配置必须指定会员组", "mClose"); return(Content("")); } userGroupsEntity = await _UserGroupsService.GetAsync(p => p.GroupID == id); if (userGroupsEntity == null) { Utility.WriteMessage("指定的会员组不存在", "mClose"); return(Content("")); } userPurviewEntity = userGroupsEntity.UserGroupPurview; } else if (IdType == 0) { if (id <= 0) { Utility.WriteMessage("权限配置必须指定会员", "mClose"); return(Content("")); } usersEntity = await _UsersService.GetAsync(p => p.UserID == id); if (usersEntity == null) { Utility.WriteMessage("指定的会员不存在", "mClose"); return(Content("")); } userPurviewEntity = usersEntity.UserPurview; } else { Utility.WriteMessage("权限类型没有指定", "mClose"); return(Content("")); } //保存节点权限设置 await _UserGroupsService.DeleteNodePermissionFromGroup(id, -3, OperateCode.NodeContentInput, IdType); await _UserGroupsService.DeleteNodePermissionFromGroup(id, -3, OperateCode.NodeNoNeedCheck, IdType); await _UserGroupsService.DeleteNodePermissionFromGroup(id, -3, OperateCode.NodeManageSelfInfo, IdType); var ModelPurview = collection["ModelPurview"]; if (!string.IsNullOrEmpty(ModelPurview)) { await _UserGroupsService.AddNodePermissionToUserGroup(id, ModelPurview, IdType); } //保存会员组(会员)权限设置 if (userPurviewEntity == null) { userPurviewEntity = new UserPurviewEntity(); } userPurviewEntity.SetEditor = viewModel.PurviewEntity.SetEditor; userPurviewEntity.MaxPublicInfoOneDay = viewModel.PurviewEntity.MaxPublicInfoOneDay; userPurviewEntity.MaxPublicInfo = viewModel.PurviewEntity.MaxPublicInfo; userPurviewEntity.IsXssFilter = viewModel.PurviewEntity.IsXssFilter; if (ConfigHelper.Get <UserConfig>().EnableExp) { userPurviewEntity.GetExp = viewModel.PurviewEntity.GetExp; } if (ConfigHelper.Get <UserConfig>().EnablePoint) { userPurviewEntity.GetPoint = viewModel.PurviewEntity.GetPoint; } bool bFlag = false; if (userGroupsEntity != null) { userGroupsEntity.GroupSetting = userPurviewEntity.ToXml(); bFlag = await _UserGroupsService.UpdateAsync(userGroupsEntity); } else if (usersEntity != null) { usersEntity.UserSetting = userPurviewEntity.ToXml(); bFlag = await _UsersService.UpdateAsync(usersEntity); } if (bFlag) { Utility.WriteMessage("设置权限成功", "mRefresh"); } else { Utility.WriteMessage("设置权限失败", "mClose"); } return(Content("")); }