/// <summary> /// 加载单条流程文件夹权限 /// </summary> /// <returns></returns> public JsonResult LoadWorkflowFolderAcl(string WorkflowFolderCode, string AclID) { return(ExecuteFunctionRun(() => { WorkflowFolderAclViewModel model = new WorkflowFolderAclViewModel(); model.WorkflowFolderCode = WorkflowFolderCode; if (!string.IsNullOrEmpty(AclID)) { Acl.FunctionAcl FunctionAcl = this.Engine.FunctionAclManager.GetAcl(AclID); model.ObjectID = FunctionAcl.AclID; model.UserID = FunctionAcl.UserID; OThinker.Organization.Unit unit = this.Engine.Organization.GetUnit(model.UserID); if (unit != null) { model.UserName = unit.Name; } model.WorkflowFolderCode = FunctionAcl.FunctionCode; model.Run = FunctionAcl.Run; } FunctionNode FunctionNode = this.Engine.FunctionAclManager.GetFunctionNodeByCode(WorkflowFolderCode); model.WorkflowFolderName = FunctionNode.DisplayName; model.FunctionRun = this.UserValidator.ValidateFunctionRun(WorkflowFolderCode); return Json(model, JsonRequestBehavior.AllowGet); })); }
public void DeleteOrg(OThinker.Organization.Unit unit) { if (unit is OThinker.Organization.OrganizationUnit) { List <OThinker.Organization.Unit> lstUnit = this.Engine.Organization.GetChildUnits(unit.ObjectID, OThinker.Organization.UnitType.OrganizationUnit, false, OThinker.Organization.State.Unspecified); foreach (OThinker.Organization.Unit u in lstUnit) { DeleteOrg(u); } } this.Engine.Organization.RemoveUnit(this.UserValidator.UserID, unit); }
private string GetFullName(string unitId) { string UserAlias = string.Empty; // 编辑模式 OThinker.Organization.Unit u = this.Engine.Organization.GetUnit(unitId); if (u is OThinker.Organization.User) { UserAlias = this.Engine.Organization.GetFullName(u.ParentID) + "/" + u.Name; } else { UserAlias = this.Engine.Organization.GetFullName(unitId); } return(UserAlias); }
/// <summary> /// 获取组织,群名称 /// </summary> /// <param name="unitID"></param> /// <returns></returns> public JsonResult GetUnitInfo(string unitID) { return(ExecuteFunctionRun(() => { var unit = new object(); OThinker.Organization.Unit u = this.Engine.Organization.GetUnit(unitID); if (u != null) { unit = new { UnitID = u.ObjectID, UnitName = u.Name }; } return Json(unit, JsonRequestBehavior.AllowGet); })); }
public JsonResult DelRole(string id) { return(ExecuteFunctionRun(() => { ActionResult result = new ActionResult(true, ""); string[] idArr = id.Split(';'); if (idArr != null && idArr.Length > 0) { foreach (string d in idArr) { OThinker.Organization.Unit post = this.Engine.Organization.GetUnit(d); this.Engine.Organization.RemoveUnit(OThinker.Organization.User.AdministratorID, post); } } return Json(result, JsonRequestBehavior.AllowGet); })); }
/// <summary> /// 获取组织对应的名称 /// </summary> /// <param name="UnitKeys"></param> /// <returns></returns> public JsonResult GetUnitNames(string UnitKeys) { return(ExecuteFunctionRun(() => { try { string[] UserKeys = (string[])JsonConvert.DeserializeObject(UnitKeys, typeof(string[])); if (UserKeys != null && UserKeys.Length > 0) { OThinker.Organization.IOrganization _Organization = this.Engine.Organization; List <object> lstUnitNames = new List <object>(); foreach (string Key in UserKeys) { OThinker.Organization.Unit Unit = _Organization.GetUnit(Key); if (Unit == null) { Unit = _Organization.GetUnit(Key); if (Unit == null) { Unit = _Organization.GetUserByCode(Key); } } if (Unit != null) { lstUnitNames.Add(new { Key = Key, Name = Unit.Name }); } } return Json(lstUnitNames, JsonRequestBehavior.AllowGet); } } catch { } return null; })); }
/// <summary> /// 创建组织机构的树节点 /// </summary> /// <param name="unitID"></param> /// <param name="child"></param> /// <param name="imgName"></param> /// <returns></returns> private FormulaTreeNode BuildOrgChildNode(string unitID, OThinker.Organization.Unit child, string imgName) { //组织机构全部使用OBJECTID 作参数 string Code = child.ObjectID; //if (child.UnitType == OThinker.Organization.UnitType.User) { Code = ((OThinker.Organization.User)child).Code; } FormulaTreeNode node = new FormulaTreeNode() { Text = "_" + child.Name,//在资源文件解析的时候,如果以_开头,则返回_之后的字符串,否则会根据资源文件里面的字符串替换,组织结构名称会找不到 ObjectID = child.ObjectID, Value = Code, IsLeaf = child.UnitType == OThinker.Organization.UnitType.User, Icon = imgName, ParentID = unitID, FormulaType = FormulaType.Organization.ToString() }; if (!node.IsLeaf) { node.LoadDataUrl = this.PortalRoot + "/Formula/LoadTreeData?unitID=" + child.ObjectID; } return(node); }
public JsonResult Load(string WorkflowCode, string AclId) { return(ExecuteFunctionRun(() => { OThinker.H3.Acl.WorkflowAcl CurrentAcl = null; if (!string.IsNullOrEmpty(AclId)) { CurrentAcl = this.Engine.WorkflowAclManager.GetWorkflowAcl(AclId); } var WorflowName = this.Engine.WorkflowManager.GetClauseDisplayName(WorkflowCode); var UserAlias = string.Empty; var CreateInstance = false; //按钮显示 ,前台判断 if (CurrentAcl != null) { // 编辑模式 OThinker.Organization.Unit u = this.Engine.Organization.GetUnit(CurrentAcl.UserID); if (u is OThinker.Organization.User) { UserAlias = this.Engine.Organization.GetFullName(u.ParentID) + "/" + u.Name; } else { UserAlias = this.Engine.Organization.GetFullName(CurrentAcl.UserID); } CreateInstance = CurrentAcl.CreateInstance; } //BizWorkflowPackageLockByID(WorkflowCode); var obj = new { WorkflowName = WorflowName, UserAlias = UserAlias, CreateInstance = CreateInstance }; return Json(obj, JsonRequestBehavior.AllowGet); })); }
/// <summary> /// 获取流程文件夹权限数据 /// </summary> /// <param name="WorkflowFolderCode"></param> /// <returns></returns> public JsonResult GetData(string WorkflowFolderCode) { return(ExecuteFunctionRun(() => { Acl.FunctionAcl[] acls = this.Engine.FunctionAclManager.GetFunctionAclByCode(WorkflowFolderCode); if (acls != null) { for (int i = 0, j = acls.Length; i < j; i++) { var unitId = acls[i].UserID; acls[i].UserID = this.Engine.Organization.GetFullName(acls[i].UserID); OThinker.Organization.Unit unit = this.Engine.Organization.GetUnit(unitId); if (unit.UnitType != OThinker.Organization.UnitType.OrganizationUnit) { acls[i].UserID += "/" + unit.Name; } } } var GridData = CreateLigerUIGridData(acls); return Json(GridData, JsonRequestBehavior.AllowGet); })); }