Added code fixes based on comments during demonstrations of 11/25/2013
This commit is contained in:
@@ -16,38 +16,14 @@ namespace VEPROMS
|
||||
#region Log4Net
|
||||
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||
#endregion
|
||||
private User myUser;
|
||||
private GroupInfoList myGroupInfoList;
|
||||
private UserInfoList myUserInfoList;
|
||||
private List<MembershipInfo> myMembershipInfoList;
|
||||
//private FolderInfo myFolderInfo;
|
||||
private Folder myFolder;
|
||||
|
||||
public dlgManageSecurity()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
//private void btnApplyPassword_Click(object sender, EventArgs e)
|
||||
//{
|
||||
// string pw = txtVolianPassword.Text;
|
||||
// if (pw == "V3Pr0m5")
|
||||
// {
|
||||
// MessageBox.Show("You have entered the correct password. You will now be defined as the Administrator for VEPROMS", "Correct Password");
|
||||
// User user = User.MakeUser(VlnSettings.UserID, "", "", "", "", "", "", "", "", "", "", DateTime.Now, VlnSettings.UserID);
|
||||
// Group group = Group.GetByGroupName("Administrators");
|
||||
// Membership m = Membership.MakeMembership(user, group, null, "");
|
||||
// tcSecurity.TabPages.Add(tpGroupUsers);
|
||||
// tcSecurity.TabPages.Remove(tpDefault);
|
||||
// SetupSecurity();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// MessageBox.Show("You have entered an incorrect password", "Incorrect Password");
|
||||
// this.Close();
|
||||
// }
|
||||
//}
|
||||
|
||||
private void dlgManageSecurity_Load(object sender, EventArgs e)
|
||||
{
|
||||
myFolder = Folder.Get(1);
|
||||
@@ -57,7 +33,6 @@ namespace VEPROMS
|
||||
private void SetupGroups()
|
||||
{
|
||||
pnlGroups.Controls.Clear();
|
||||
//GroupInfoList gil = GroupInfoList.Get();
|
||||
foreach (GroupInfo gi in myGroupInfoList)
|
||||
{
|
||||
RadioButton rb = new RadioButton();
|
||||
@@ -80,8 +55,7 @@ namespace VEPROMS
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void rb_CheckedChanged(object sender, EventArgs e)
|
||||
private void rb_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
RadioButton rb = sender as RadioButton;
|
||||
GroupInfo gi = rb.Tag as GroupInfo;
|
||||
@@ -96,7 +70,7 @@ namespace VEPROMS
|
||||
FolderInfo fi = FolderInfo.Get(1);
|
||||
LoadChildFolders(fi, null);
|
||||
}
|
||||
lstGroupUsers.Items.Clear();
|
||||
lstMembers.Items.Clear();
|
||||
lstUsers.Items.Clear();
|
||||
lstGroups.Items.Clear();
|
||||
GroupInfoList.Reset();
|
||||
@@ -111,7 +85,6 @@ namespace VEPROMS
|
||||
lstGroups.SelectedIndex = -1;
|
||||
lstUsers.SelectedIndex = -1;
|
||||
}
|
||||
|
||||
private void LoadChildFolders(FolderInfo fi, TreeNode tn)
|
||||
{
|
||||
if (tn == null)
|
||||
@@ -132,12 +105,11 @@ namespace VEPROMS
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void lstGroups_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
pnlCGU.BringToFront();
|
||||
lblMembers.Text = "Selected Group Users";
|
||||
myMembershipInfoList = new List<MembershipInfo>();
|
||||
lstGroupUsers.Items.Clear();
|
||||
lstMembers.Items.Clear();
|
||||
if (lstGroups.SelectedIndex > -1)
|
||||
{
|
||||
GroupInfo gi = myGroupInfoList[lstGroups.SelectedIndex];
|
||||
@@ -147,101 +119,84 @@ namespace VEPROMS
|
||||
if (mi.EndDate == null || mi.EndDate == string.Empty)
|
||||
{
|
||||
myMembershipInfoList.Add(mi);
|
||||
lstGroupUsers.Items.Add(mi.MyUser.UserID);
|
||||
lstMembers.Items.Add(mi.MyUser.UserID);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addMemberToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (lstGroups.SelectedIndices.Count < 1)
|
||||
{
|
||||
MessageBox.Show(this, "You must select at least one Group to proceed", "Missing Group");
|
||||
return;
|
||||
}
|
||||
if (lstUsers.SelectedIndices.Count < 1)
|
||||
{
|
||||
MessageBox.Show(this, "You must select at least one User to proceed", "Missing User");
|
||||
return;
|
||||
}
|
||||
int groupIndex = lstGroups.SelectedIndex;
|
||||
int userIndex = lstUsers.SelectedIndex;
|
||||
foreach (int gg in lstGroups.SelectedIndices)
|
||||
{
|
||||
foreach (int uu in lstUsers.SelectedIndices)
|
||||
{
|
||||
GroupInfo gi = myGroupInfoList[gg];
|
||||
UserInfo ui = myUserInfoList[uu];
|
||||
bool addOK = true;
|
||||
if (gi.GroupMembershipCount > 0)
|
||||
{
|
||||
foreach (MembershipInfo mi in gi.GroupMemberships)
|
||||
if (mi.MyUser.UID == ui.UID && (mi.EndDate == null || mi.EndDate == string.Empty))
|
||||
{
|
||||
addOK = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (addOK)
|
||||
{
|
||||
Membership.MakeMembership(User.Get(ui.UID), Group.Get(gi.GID), null, "");
|
||||
}
|
||||
else
|
||||
MessageBox.Show(this, string.Format("User {0} is already a member of group {1}", ui.UserID, gi.GroupName), "User In Group");
|
||||
}
|
||||
}
|
||||
GroupInfo gi = myGroupInfoList[groupIndex];
|
||||
UserInfo ui = myUserInfoList[userIndex];
|
||||
Membership.MakeMembership(User.Get(ui.UID), Group.Get(gi.GID), null, "");
|
||||
SetupSecurity();
|
||||
lstGroups.SelectedIndex = groupIndex;
|
||||
lstUsers.SelectedIndex = userIndex;
|
||||
if ((sender as ToolStripMenuItem).Name.EndsWith("Group"))
|
||||
{
|
||||
lstUsers.SelectedIndex = userIndex;
|
||||
lstGroups.SelectedIndex = groupIndex;
|
||||
}
|
||||
else
|
||||
{
|
||||
lstGroups.SelectedIndex = groupIndex;
|
||||
lstUsers.SelectedIndex = userIndex;
|
||||
}
|
||||
}
|
||||
|
||||
private void removeMemberToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (lstGroups.SelectedIndices.Count < 1)
|
||||
{
|
||||
MessageBox.Show(this, "You must select at least one Group to proceed", "Missing Group");
|
||||
return;
|
||||
}
|
||||
if (lstGroupUsers.SelectedIndices.Count < 1)
|
||||
{
|
||||
MessageBox.Show(this, "You must select at least one Group Member to proceed", "Missing Group Member");
|
||||
return;
|
||||
}
|
||||
string msg = lstGroupUsers.SelectedIndices.Count > 1 ? "Are you sure you want to remove these Group Members?" : "Are you sure you want to remove this Group Member?";
|
||||
MembershipInfo mi = myMembershipInfoList[lstMembers.SelectedIndex];
|
||||
string msg = "Are you sure you want to remove this Group Member?";
|
||||
if (MessageBox.Show(this, msg, "Confirm Group Member Removal", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
|
||||
{
|
||||
foreach (int gg in lstGroups.SelectedIndices)
|
||||
int groupIndex = lstGroups.SelectedIndex;
|
||||
int userIndex = lstUsers.SelectedIndex;
|
||||
if (mi.MyGroup.GroupName == "Administrators")
|
||||
{
|
||||
GroupInfo gi = myGroupInfoList[gg];
|
||||
foreach (MembershipInfo mi in gi.GroupMemberships)
|
||||
int k = 0;
|
||||
foreach(MembershipInfo mm in mi.MyGroup.GroupMemberships)
|
||||
if(mm.EndDate == null || mm.EndDate == string.Empty)
|
||||
k++;
|
||||
if (k == 1)
|
||||
{
|
||||
foreach (int mm in lstGroupUsers.SelectedIndices)
|
||||
{
|
||||
MembershipInfo mig = myMembershipInfoList[mm];
|
||||
if (mi.MyUser.UID == mig.MyUser.UID)
|
||||
{
|
||||
Membership m = Membership.Get(mi.UGID);
|
||||
m.EndDate = DateTime.Now.ToShortDateString();
|
||||
m.Save();
|
||||
}
|
||||
}
|
||||
MessageBox.Show("You must have at least 1 user assigned to the Adminstrators group", "One Administrator Required", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
}
|
||||
Membership m = Membership.Get(mi.UGID);
|
||||
m.EndDate = DateTime.Now.ToShortDateString();
|
||||
m.Save();
|
||||
SetupSecurity();
|
||||
lstGroups.SelectedIndex = groupIndex;
|
||||
lstUsers.SelectedIndex = userIndex;
|
||||
}
|
||||
// foreach (int gg in lstGroups.SelectedIndices)
|
||||
// {
|
||||
// GroupInfo gi = myGroupInfoList[gg];
|
||||
// if (gi.GroupName == "Administrators" && gi.GroupMembershipCount == 1)
|
||||
// {
|
||||
// MessageBox.Show("You must have at least 1 user assigned to the Adminstrators group", "Can Not Delete User", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
// return;
|
||||
// }
|
||||
// foreach (MembershipInfo mi in gi.GroupMemberships)
|
||||
// {
|
||||
// foreach (int mm in lstGroupUsers.SelectedIndices)
|
||||
// {
|
||||
// MembershipInfo mig = myMembershipInfoList[mm];
|
||||
// if (mi.MyUser.UID == mig.MyUser.UID)
|
||||
// {
|
||||
// Membership m = Membership.Get(mi.UGID);
|
||||
// m.EndDate = DateTime.Now.ToShortDateString();
|
||||
// m.Save();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// SetupSecurity();
|
||||
//}
|
||||
}
|
||||
|
||||
private void addUserToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
//to do add user manually
|
||||
/*
|
||||
* create new input form
|
||||
* get userid
|
||||
* create user
|
||||
* add to default group
|
||||
*
|
||||
*/
|
||||
User u = User.MakeUser("[Enter New UserID]","", "", "", "", "", "", "", "", "", "",DateTime.Now,"");
|
||||
frmManageUser frm = new frmManageUser();
|
||||
frm.MyUser = u;
|
||||
@@ -257,7 +212,6 @@ namespace VEPROMS
|
||||
u.Delete();
|
||||
}
|
||||
}
|
||||
|
||||
private void editUserToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (lstUsers.SelectedIndex == -1)
|
||||
@@ -276,7 +230,6 @@ namespace VEPROMS
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void deleteUserToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (lstUsers.SelectedIndex == -1)
|
||||
@@ -317,7 +270,6 @@ namespace VEPROMS
|
||||
//end date user memberships
|
||||
//delete user
|
||||
}
|
||||
|
||||
private void createGroupMenuItem(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
@@ -333,7 +285,6 @@ namespace VEPROMS
|
||||
_MyLog.Warn("createGroupMenuItem", ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void AddNewGroup(string txt, FolderInfo fi)
|
||||
{
|
||||
txt = txt.Replace("Create", "").Replace(" a ", "").Replace("Group", "").Trim();
|
||||
@@ -363,47 +314,38 @@ namespace VEPROMS
|
||||
myGroupInfoList = GroupInfoList.Get();
|
||||
SetupGroups();
|
||||
}
|
||||
|
||||
private void lstUsers_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
/*
|
||||
myMembershipInfoList = new List<MembershipInfo>();
|
||||
lstGroupUsers.Items.Clear();
|
||||
GroupInfo gi = myGroupInfoList[lstGroups.SelectedIndex];
|
||||
if(gi.GroupMembershipCount > 0)
|
||||
foreach (MembershipInfo mi in gi.GroupMemberships)
|
||||
{
|
||||
if (mi.EndDate == null || mi.EndDate == string.Empty)
|
||||
{
|
||||
myMembershipInfoList.Add(mi);
|
||||
lstGroupUsers.Items.Add(mi.MyUser.UserID);
|
||||
}
|
||||
}
|
||||
*/
|
||||
pnlCUG.BringToFront();
|
||||
lstUserGroups.Items.Clear();
|
||||
if(lstUsers.SelectedIndex > -1){
|
||||
UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
|
||||
if (ui.UserMembershipCount > 0)
|
||||
lblMembers.Text = "Selected User Groups";
|
||||
myMembershipInfoList = new List<MembershipInfo>();
|
||||
lstMembers.Items.Clear();
|
||||
if (lstUsers.SelectedIndex > -1)
|
||||
{
|
||||
foreach (MembershipInfo mi in ui.UserMemberships)
|
||||
UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
|
||||
if (ui.UserMembershipCount > 0)
|
||||
{
|
||||
if (mi.EndDate == null || mi.EndDate == string.Empty)
|
||||
foreach (MembershipInfo mi in ui.UserMemberships)
|
||||
{
|
||||
lstUserGroups.Items.Add(mi.MyGroup.GroupName);
|
||||
if (mi.EndDate == null || mi.EndDate == string.Empty)
|
||||
{
|
||||
myMembershipInfoList.Add(mi);
|
||||
lstMembers.Items.Add(mi.MyGroup.GroupName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void tvFolders_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
|
||||
{
|
||||
tvFolders.SelectedNode = e.Node;
|
||||
}
|
||||
|
||||
private void deleteGroupToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (lstGroups.SelectedIndex < 0)
|
||||
{
|
||||
MessageBox.Show("You must select a group to delete", "No Group Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
GroupInfo gi = myGroupInfoList[lstGroups.SelectedIndex];
|
||||
bool deleteOK = true;
|
||||
if(gi.GroupMembershipCount > 0)
|
||||
@@ -428,5 +370,122 @@ namespace VEPROMS
|
||||
SetupSecurity();
|
||||
}
|
||||
}
|
||||
private void lstGroups_MouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
lstGroups.SelectedIndex = -1;
|
||||
if (e.Button == MouseButtons.Right)
|
||||
{
|
||||
int k = lstGroups.IndexFromPoint(e.Location);
|
||||
if (k >= 0)
|
||||
{
|
||||
lstGroups.SelectedIndex = k;
|
||||
if (lstUsers.SelectedIndex >= 0)
|
||||
{
|
||||
GroupInfo gi = myGroupInfoList[k];
|
||||
if (gi.GroupMembershipCount > 0)
|
||||
{
|
||||
addMemberToolStripMenuItemGroup.Visible = true;
|
||||
UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
|
||||
foreach (MembershipInfo mi in gi.GroupMemberships)
|
||||
{
|
||||
if (mi.MyUser.UserID == ui.UserID && (mi.EndDate == null || mi.EndDate == string.Empty))
|
||||
{
|
||||
addMemberToolStripMenuItemGroup.Visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
addMemberToolStripMenuItemGroup.Visible = false;
|
||||
cmGroups.Show(lstGroups, e.Location);
|
||||
}
|
||||
}
|
||||
else if (e.Button == MouseButtons.Left)
|
||||
{
|
||||
int k = lstGroups.IndexFromPoint(e.Location);
|
||||
if (k >= 0)
|
||||
{
|
||||
lstGroups.SelectedIndex = k;
|
||||
}
|
||||
}
|
||||
}
|
||||
private void lstUsers_MouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
lstUsers.SelectedIndex = -1;
|
||||
if (e.Button == MouseButtons.Right)
|
||||
{
|
||||
int k = lstUsers.IndexFromPoint(e.Location);
|
||||
if (k >= 0)
|
||||
{
|
||||
lstUsers.SelectedIndex = k;
|
||||
addUserToolStripMenuItem.Visible = false;
|
||||
editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.Visible = true;
|
||||
if (lstGroups.SelectedIndex >= 0)
|
||||
{
|
||||
UserInfo ui = myUserInfoList[k];
|
||||
if(ui.UserMembershipCount > 0)
|
||||
{
|
||||
addMemberToolStripMenuItemUser.Visible = true;
|
||||
GroupInfo gi = myGroupInfoList[lstGroups.SelectedIndex];
|
||||
foreach(MembershipInfo mi in ui.UserMemberships)
|
||||
{
|
||||
if (mi.MyGroup.GroupName == gi.GroupName && (mi.EndDate == null || mi.EndDate == string.Empty))
|
||||
{
|
||||
addMemberToolStripMenuItemUser.Visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
addMemberToolStripMenuItemUser.Visible = false;
|
||||
cmUsers.Show(lstUsers, e.Location);
|
||||
}
|
||||
else
|
||||
{
|
||||
addUserToolStripMenuItem.Visible = true;
|
||||
editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.Visible = addMemberToolStripMenuItemUser.Visible = false;
|
||||
cmUsers.Show(lstUsers, e.Location);
|
||||
}
|
||||
}
|
||||
else if (e.Button == MouseButtons.Left)
|
||||
{
|
||||
int k = lstUsers.IndexFromPoint(e.Location);
|
||||
if (k >= 0)
|
||||
{
|
||||
lstUsers.SelectedIndex = k;
|
||||
}
|
||||
}
|
||||
}
|
||||
private void lstMembers_MouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
lstMembers.SelectedIndex = -1;
|
||||
if (e.Button == MouseButtons.Right)
|
||||
{
|
||||
int k = lstMembers.IndexFromPoint(e.Location);
|
||||
if (k >= 0)
|
||||
{
|
||||
lstMembers.SelectedIndex = k;
|
||||
addMemberToolStripMenuItemUser.Visible = false;
|
||||
removeMemberToolStripMenuItem.Visible = true;
|
||||
cmMembers.Show(lstMembers, e.Location);
|
||||
}
|
||||
else
|
||||
{
|
||||
addMemberToolStripMenuItemUser.Visible = true;
|
||||
removeMemberToolStripMenuItem.Visible = false;
|
||||
cmMembers.Show(lstMembers, e.Location);
|
||||
}
|
||||
}
|
||||
else if (e.Button == MouseButtons.Left)
|
||||
{
|
||||
int k = lstMembers.IndexFromPoint(e.Location);
|
||||
if (k >= 0)
|
||||
{
|
||||
lstMembers.SelectedIndex = k;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user