protected void btnAdd_Click(object sender, System.EventArgs e) { ReportAccessControList ACLr = (ReportAccessControList)ViewState["ACL"]; ReportAccessControlEntry ACEr; if (ddGroups.SelectedValue == "0") { ACEr = new ReportAccessControlEntry(ddUsers.SelectedValue, "Read", (rbList.SelectedValue == "0")); } else { int iPrincipalId = (ddUsers.SelectedValue == "0")? int.Parse(ddGroups.SelectedValue) : int.Parse(ddUsers.SelectedValue); ACEr = new ReportAccessControlEntry(iPrincipalId, "Read", (rbList.SelectedValue == "0")); } ACLr.Add(ACEr); ViewState["ACL"] = ACLr; ListItem _li = ddGroups.SelectedItem; if (_li != null) { BindUsers(int.Parse(_li.Value)); } BinddgMembers(); }
private void btnSave_Click(object sender, EventArgs e) { ReportAccessControList ACLr = (ReportAccessControList)ViewState["ACL"]; ReportAccessControList.SetACL(rs, ACLr); Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), "<script language=javascript>window.close();</script>"); }
private void dgMembers_DeleteCommand(object source, DataGridCommandEventArgs e) { ReportAccessControList ACLr = (ReportAccessControList)ViewState["ACL"]; int Id = int.Parse(e.Item.Cells[0].Text); ACLr.Remove(Id); ViewState["ACL"] = ACLr; ListItem _li = ddGroups.SelectedItem; if (_li != null) { BindUsers(int.Parse(_li.Value)); } BinddgMembers(); }
private void BinddgMembers() { ReportAccessControList ACLr = (ReportAccessControList)ViewState["ACL"]; DataTable dt = ACLToDateTable(ACLr); DataView dv = dt.DefaultView; dv.Sort = "Weight"; dgMembers.DataSource = dv; dgMembers.DataBind(); foreach (DataGridItem dgi in dgMembers.Items) { ImageButton ib = (ImageButton)dgi.FindControl("ibDelete"); ib.Attributes.Add("onclick", "if(confirm('" + LocRM.GetString("Warning") + "')){DisableButtons(this);return true;}else return false;"); ib.ToolTip = LocRM.GetString("tDelete"); } }
private DataTable ACLToDateTable(ReportAccessControList ACLr) { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("ID", typeof(int))); dt.Columns.Add(new DataColumn("Weight", typeof(int))); dt.Columns.Add(new DataColumn("Name", typeof(string))); dt.Columns.Add(new DataColumn("Allow", typeof(bool))); foreach (ReportAccessControlEntry ACEr in ACLr) { dr = dt.NewRow(); dr["ID"] = ACEr.Id; dr["Weight"] = (ACEr.IsRoleAce)? 0 : ((Mediachase.IBN.Business.User.IsGroup(ACEr.PrincipalId))? 1 : 2); dr["Name"] = (ACEr.IsRoleAce)? ACEr.Role : ACEr.PrincipalId.ToString(); dr["Allow"] = ACEr.Allow; dt.Rows.Add(dr); } return(dt); }
private void BindUsers(int GroupID) { ddUsers.Items.Clear(); ReportAccessControList ACLr = (ReportAccessControList)ViewState["ACL"]; ArrayList alList = new ArrayList(); foreach (ReportAccessControlEntry ACEr in ACLr) { alList.Add((ACEr.IsRoleAce)? ACEr.Role : ACEr.PrincipalId.ToString()); } DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("UserId", typeof(string))); // 0 dt.Columns.Add(new DataColumn("UserName", typeof(string))); // 1 DataRow dr; if (GroupID == 0) { if (!alList.Contains(UserRoleHelper.AdminRoleName)) { dr = dt.NewRow(); dr[0] = UserRoleHelper.AdminRoleName; dr[1] = LocRM.GetString("tAdmins"); dt.Rows.Add(dr); } if (!alList.Contains(UserRoleHelper.PowerProjectManagerRoleName)) { dr = dt.NewRow(); dr[0] = UserRoleHelper.PowerProjectManagerRoleName; dr[1] = LocRM.GetString("tPPManager"); dt.Rows.Add(dr); } if (!alList.Contains(UserRoleHelper.HelpDeskManagerRoleName)) { dr = dt.NewRow(); dr[0] = UserRoleHelper.HelpDeskManagerRoleName; dr[1] = LocRM.GetString("tHDM"); dt.Rows.Add(dr); } if (!alList.Contains(UserRoleHelper.GlobalProjectManagerRoleName)) { dr = dt.NewRow(); dr[0] = UserRoleHelper.GlobalProjectManagerRoleName; dr[1] = LocRM.GetString("tGlobalPManager"); dt.Rows.Add(dr); } if (!alList.Contains(UserRoleHelper.GlobalExecutiveManagerRoleName)) { dr = dt.NewRow(); dr[0] = UserRoleHelper.GlobalExecutiveManagerRoleName; dr[1] = LocRM.GetString("tGlobalEManager"); dt.Rows.Add(dr); } if (!alList.Contains(UserRoleHelper.TimeManagerRoleName)) { dr = dt.NewRow(); dr[0] = UserRoleHelper.TimeManagerRoleName; dr[1] = LocRM.GetString("tTM"); dt.Rows.Add(dr); } } else { using (IDataReader reader = SecureGroup.GetListAllUsersInGroup(GroupID)) { while (reader.Read()) { int iUserId = (int)reader["UserId"]; if (alList.Contains(iUserId.ToString())) { continue; } bool IsExternal = (bool)reader["IsExternal"]; byte Activity = (byte)reader["Activity"]; if (!(IsExternal || Activity == (byte)Mediachase.IBN.Business.User.UserActivity.Pending)) { dr = dt.NewRow(); dr[0] = iUserId.ToString(); dr[1] = (string)reader["LastName"] + " " + (string)reader["FirstName"]; dt.Rows.Add(dr); } } } } DataView dv = new DataView(dt); ddUsers.DataSource = dv; ddUsers.DataTextField = "UserName"; ddUsers.DataValueField = "UserId"; ddUsers.DataBind(); btnAdd.Disabled = false; if (GroupID > 0) { ddUsers.Items.Insert(0, new ListItem(LocRM.GetString("tAny"), "0")); } else if (ddUsers.Items.Count == 0) { ddUsers.Items.Insert(0, new ListItem(LocRM.GetString("tEmpty"), "0")); btnAdd.Disabled = true; } }
private void GetACLData() { ReportAccessControList ACLr = ReportAccessControList.GetACL(ReportId); ViewState["ACL"] = ACLr; }