Compare commits

..

9 Commits

Author SHA1 Message Date
ca38ecb1cf F2025-028 Turned on flag to bold only the high level RNO, only when it’s off of a high level step in the Vogtle Units 3 & 4 Two Column format 2025-10-21 10:41:13 -04:00
5dfa70dc10 Merge pull request 'C2024-047 Redesign PROMS Security Dialog' (#638) from C2024-047 into Development
good for testing phase
2025-10-20 14:02:03 -04:00
ff3daff15a C2024-047 Redesign PROMS Security Dialog 2025-10-20 13:48:02 -04:00
7b7f235354 Merge pull request 'F2025-027 Added cover page PSI information to Vogtle 3&4 background format used to for the linked background steps (VEGPBckStp)' (#637) from F2025-027_Vogtle_3_4_Backgrounds_PSI into Development
Format only change. ready for use in Volian data entry of backgrounds
2025-10-16 10:59:30 -04:00
779c6247cd F2025-027 Added cover page PSI information to Vogtle 3&4 background format used to for the linked background steps (VEGPBckStp) 2025-10-16 10:59:09 -04:00
fcaffa8c5f Merge pull request 'B2025-057 Issue Copy-Pasting Enhanced Procedures' (#636) from B2025-057 into Development
Good for testing phase
2025-10-14 10:25:57 -04:00
d2ffcc903a B2025-057 Issue Copy-Pasting Enhanced Procedures 2025-10-13 14:51:51 -04:00
1d12c97e30 Merge pull request 'B2025-055 Corrected the format so that the Unit 4 Effective Date will print on the cover page' (#635) from B2025-055 into Development
Format only change.  ready for testing
2025-10-13 09:47:35 -04:00
3bcaeb214e B2025-055 Corrected the format so that the Unit 4 Effective Date will print on the cover page 2025-10-13 09:47:29 -04:00
10 changed files with 947 additions and 786 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -28,328 +28,416 @@ namespace VEPROMS
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
this.tcSecurity = new System.Windows.Forms.TabControl(); this.tcSecurity = new System.Windows.Forms.TabControl();
this.tpGroupUsers = new System.Windows.Forms.TabPage(); this.tpManageFolders = new System.Windows.Forms.TabPage();
this.pnlMembers = new System.Windows.Forms.Panel(); this.label6 = new System.Windows.Forms.Label();
this.lstMembers = new System.Windows.Forms.ListBox(); this.tvFolders = new System.Windows.Forms.TreeView();
this.lblMembers = new System.Windows.Forms.Label(); this.cmFolders = new System.Windows.Forms.ContextMenuStrip(this.components);
this.label6 = new System.Windows.Forms.Label(); this.createSetAdministratorGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tvFolders = new System.Windows.Forms.TreeView(); this.createWriterGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.cmFolders = new System.Windows.Forms.ContextMenuStrip(this.components); this.createROEToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.createSetAdministratorGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.createReviewerGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.createWriterGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tpManageGroups = new System.Windows.Forms.TabPage();
this.createROEToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.btnAddMember = new System.Windows.Forms.Button();
this.createReviewerGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.btnRemoveMember = new System.Windows.Forms.Button();
this.lstUsers = new System.Windows.Forms.ListBox(); this.label1 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label(); this.lbNonMembers = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label(); this.btnDeleteGroup = new System.Windows.Forms.Button();
this.lstGroups = new System.Windows.Forms.ListBox(); this.cbGroupSelection = new System.Windows.Forms.ComboBox();
this.tpDefault = new System.Windows.Forms.TabPage(); this.lstNonMembers = new System.Windows.Forms.ListBox();
this.label8 = new System.Windows.Forms.Label(); this.pnlMembers = new System.Windows.Forms.Panel();
this.pnlGroups = new System.Windows.Forms.Panel(); this.lstMembers = new System.Windows.Forms.ListBox();
this.cmMembers = new System.Windows.Forms.ContextMenuStrip(this.components); this.lblMembers = new System.Windows.Forms.Label();
this.removeMemberToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.label3 = new System.Windows.Forms.Label();
this.cmUsers = new System.Windows.Forms.ContextMenuStrip(this.components); this.tpManageUsers = new System.Windows.Forms.TabPage();
this.addUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.lblUserGroups = new System.Windows.Forms.Label();
this.editUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.lstGroups = new System.Windows.Forms.ListBox();
this.deleteUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.lstUsers = new System.Windows.Forms.ListBox();
this.addMemberToolStripMenuItemUser = new System.Windows.Forms.ToolStripMenuItem(); this.lblUsers = new System.Windows.Forms.Label();
this.cmGroups = new System.Windows.Forms.ContextMenuStrip(this.components); this.tpDefault = new System.Windows.Forms.TabPage();
this.deleteGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.label8 = new System.Windows.Forms.Label();
this.addMemberToolStripMenuItemGroup = new System.Windows.Forms.ToolStripMenuItem(); this.pnlGroups = new System.Windows.Forms.Panel();
this.tcSecurity.SuspendLayout(); this.cmMembers = new System.Windows.Forms.ContextMenuStrip(this.components);
this.tpGroupUsers.SuspendLayout(); this.removeMemberToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pnlMembers.SuspendLayout(); this.cmUsers = new System.Windows.Forms.ContextMenuStrip(this.components);
this.cmFolders.SuspendLayout(); this.addUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tpDefault.SuspendLayout(); this.editUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.cmMembers.SuspendLayout(); this.deleteUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.cmUsers.SuspendLayout(); this.tt = new System.Windows.Forms.ToolTip(this.components);
this.cmGroups.SuspendLayout(); this.tcSecurity.SuspendLayout();
this.SuspendLayout(); this.tpManageFolders.SuspendLayout();
// this.cmFolders.SuspendLayout();
// tcSecurity this.tpManageGroups.SuspendLayout();
// this.pnlMembers.SuspendLayout();
this.tcSecurity.Controls.Add(this.tpGroupUsers); this.tpManageUsers.SuspendLayout();
this.tcSecurity.Controls.Add(this.tpDefault); this.tpDefault.SuspendLayout();
this.tcSecurity.Dock = System.Windows.Forms.DockStyle.Fill; this.cmUsers.SuspendLayout();
this.tcSecurity.Location = new System.Drawing.Point(0, 0); this.SuspendLayout();
this.tcSecurity.Name = "tcSecurity"; //
this.tcSecurity.SelectedIndex = 0; // tcSecurity
this.tcSecurity.Size = new System.Drawing.Size(784, 564); //
this.tcSecurity.TabIndex = 0; this.tcSecurity.Controls.Add(this.tpManageFolders);
// this.tcSecurity.Controls.Add(this.tpManageGroups);
// tpGroupUsers this.tcSecurity.Controls.Add(this.tpManageUsers);
// this.tcSecurity.Controls.Add(this.tpDefault);
this.tpGroupUsers.BackColor = System.Drawing.SystemColors.ButtonFace; this.tcSecurity.Dock = System.Windows.Forms.DockStyle.Fill;
this.tpGroupUsers.Controls.Add(this.pnlMembers); this.tcSecurity.Location = new System.Drawing.Point(0, 0);
this.tpGroupUsers.Controls.Add(this.label6); this.tcSecurity.Name = "tcSecurity";
this.tpGroupUsers.Controls.Add(this.tvFolders); this.tcSecurity.SelectedIndex = 0;
this.tpGroupUsers.Controls.Add(this.lstUsers); this.tcSecurity.Size = new System.Drawing.Size(784, 564);
this.tpGroupUsers.Controls.Add(this.label5); this.tcSecurity.TabIndex = 0;
this.tpGroupUsers.Controls.Add(this.label3); this.tcSecurity.SelectedIndexChanged += new System.EventHandler(this.changedTab);
this.tpGroupUsers.Controls.Add(this.lstGroups); //
this.tpGroupUsers.Location = new System.Drawing.Point(4, 22); // tpManageFolders
this.tpGroupUsers.Name = "tpGroupUsers"; //
this.tpGroupUsers.Padding = new System.Windows.Forms.Padding(3); this.tpManageFolders.BackColor = System.Drawing.SystemColors.ButtonFace;
this.tpGroupUsers.Size = new System.Drawing.Size(776, 538); this.tpManageFolders.Controls.Add(this.label6);
this.tpGroupUsers.TabIndex = 2; this.tpManageFolders.Controls.Add(this.tvFolders);
this.tpGroupUsers.Text = "Folders, Groups and Users"; this.tpManageFolders.Location = new System.Drawing.Point(4, 22);
// this.tpManageFolders.Name = "tpManageFolders";
// pnlMembers this.tpManageFolders.Padding = new System.Windows.Forms.Padding(3);
// this.tpManageFolders.Size = new System.Drawing.Size(776, 538);
this.pnlMembers.Controls.Add(this.lstMembers); this.tpManageFolders.TabIndex = 2;
this.pnlMembers.Controls.Add(this.lblMembers); this.tpManageFolders.Text = "Manage Folders / Add Groups";
this.pnlMembers.Location = new System.Drawing.Point(384, 304); //
this.pnlMembers.Name = "pnlMembers"; // label6
this.pnlMembers.Size = new System.Drawing.Size(386, 232); //
this.pnlMembers.TabIndex = 12; this.label6.AutoSize = true;
// this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
// lstMembers this.label6.Location = new System.Drawing.Point(8, 5);
// this.label6.Name = "label6";
this.lstMembers.Dock = System.Windows.Forms.DockStyle.Fill; this.label6.Size = new System.Drawing.Size(55, 15);
this.lstMembers.FormattingEnabled = true; this.label6.TabIndex = 7;
this.lstMembers.Location = new System.Drawing.Point(0, 19); this.label6.Text = "Folders";
this.lstMembers.Name = "lstMembers"; //
this.lstMembers.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; // tvFolders
this.lstMembers.Size = new System.Drawing.Size(386, 212); //
this.lstMembers.TabIndex = 10; this.tvFolders.ContextMenuStrip = this.cmFolders;
this.lstMembers.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstMembers_MouseUp); this.tvFolders.Dock = System.Windows.Forms.DockStyle.Bottom;
// this.tvFolders.HideSelection = false;
// lblMembers this.tvFolders.Location = new System.Drawing.Point(3, 32);
// this.tvFolders.Name = "tvFolders";
this.lblMembers.Dock = System.Windows.Forms.DockStyle.Top; this.tvFolders.Size = new System.Drawing.Size(770, 503);
this.lblMembers.Location = new System.Drawing.Point(0, 0); this.tvFolders.TabIndex = 6;
this.lblMembers.Name = "lblMembers"; this.tvFolders.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.tvFolders_NodeMouseClick);
this.lblMembers.Size = new System.Drawing.Size(386, 19); //
this.lblMembers.TabIndex = 2; // cmFolders
this.lblMembers.Text = "Members"; //
// this.cmFolders.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(8, 5);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(41, 13);
this.label6.TabIndex = 7;
this.label6.Text = "Folders";
//
// tvFolders
//
this.tvFolders.ContextMenuStrip = this.cmFolders;
this.tvFolders.HideSelection = false;
this.tvFolders.Location = new System.Drawing.Point(8, 21);
this.tvFolders.Name = "tvFolders";
this.tvFolders.Size = new System.Drawing.Size(370, 511);
this.tvFolders.TabIndex = 6;
this.tvFolders.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.tvFolders_NodeMouseClick);
//
// cmFolders
//
this.cmFolders.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.createSetAdministratorGroupToolStripMenuItem, this.createSetAdministratorGroupToolStripMenuItem,
this.createWriterGroupToolStripMenuItem, this.createWriterGroupToolStripMenuItem,
this.createROEToolStripMenuItem, this.createROEToolStripMenuItem,
this.createReviewerGroupToolStripMenuItem}); this.createReviewerGroupToolStripMenuItem});
this.cmFolders.Name = "cmFolders"; this.cmFolders.Name = "cmFolders";
this.cmFolders.Size = new System.Drawing.Size(249, 92); this.cmFolders.Size = new System.Drawing.Size(249, 92);
// //
// createSetAdministratorGroupToolStripMenuItem // createSetAdministratorGroupToolStripMenuItem
// //
this.createSetAdministratorGroupToolStripMenuItem.Name = "createSetAdministratorGroupToolStripMenuItem"; this.createSetAdministratorGroupToolStripMenuItem.Name = "createSetAdministratorGroupToolStripMenuItem";
this.createSetAdministratorGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22); this.createSetAdministratorGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
this.createSetAdministratorGroupToolStripMenuItem.Text = "Create a Set Administrator Group"; this.createSetAdministratorGroupToolStripMenuItem.Text = "Create a Set Administrator Group";
this.createSetAdministratorGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem); this.createSetAdministratorGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
// //
// createWriterGroupToolStripMenuItem // createWriterGroupToolStripMenuItem
// //
this.createWriterGroupToolStripMenuItem.Name = "createWriterGroupToolStripMenuItem"; this.createWriterGroupToolStripMenuItem.Name = "createWriterGroupToolStripMenuItem";
this.createWriterGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22); this.createWriterGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
this.createWriterGroupToolStripMenuItem.Text = "Create a Writer Group"; this.createWriterGroupToolStripMenuItem.Text = "Create a Writer Group";
this.createWriterGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem); this.createWriterGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
// //
// createROEToolStripMenuItem // createROEToolStripMenuItem
// //
this.createROEToolStripMenuItem.Name = "createROEToolStripMenuItem"; this.createROEToolStripMenuItem.Name = "createROEToolStripMenuItem";
this.createROEToolStripMenuItem.Size = new System.Drawing.Size(248, 22); this.createROEToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
this.createROEToolStripMenuItem.Text = "Create a RO Editor Group"; this.createROEToolStripMenuItem.Text = "Create a RO Editor Group";
this.createROEToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem); this.createROEToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
// //
// createReviewerGroupToolStripMenuItem // createReviewerGroupToolStripMenuItem
// //
this.createReviewerGroupToolStripMenuItem.Name = "createReviewerGroupToolStripMenuItem"; this.createReviewerGroupToolStripMenuItem.Name = "createReviewerGroupToolStripMenuItem";
this.createReviewerGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22); this.createReviewerGroupToolStripMenuItem.Size = new System.Drawing.Size(248, 22);
this.createReviewerGroupToolStripMenuItem.Text = "Create a Reviewer Group"; this.createReviewerGroupToolStripMenuItem.Text = "Create a Reviewer Group";
this.createReviewerGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem); this.createReviewerGroupToolStripMenuItem.Click += new System.EventHandler(this.createGroupMenuItem);
// //
// lstUsers // tpManageGroups
// //
this.lstUsers.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.tpManageGroups.Controls.Add(this.btnAddMember);
| System.Windows.Forms.AnchorStyles.Left))); this.tpManageGroups.Controls.Add(this.btnRemoveMember);
this.lstUsers.FormattingEnabled = true; this.tpManageGroups.Controls.Add(this.label1);
this.lstUsers.Location = new System.Drawing.Point(630, 21); this.tpManageGroups.Controls.Add(this.lbNonMembers);
this.lstUsers.Name = "lstUsers"; this.tpManageGroups.Controls.Add(this.btnDeleteGroup);
this.lstUsers.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; this.tpManageGroups.Controls.Add(this.cbGroupSelection);
this.lstUsers.Size = new System.Drawing.Size(140, 277); this.tpManageGroups.Controls.Add(this.lstNonMembers);
this.lstUsers.TabIndex = 5; this.tpManageGroups.Controls.Add(this.pnlMembers);
this.lstUsers.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstUsers_MouseUp); this.tpManageGroups.Controls.Add(this.label3);
this.lstUsers.SelectedIndexChanged += new System.EventHandler(this.lstUsers_SelectedIndexChanged); this.tpManageGroups.Location = new System.Drawing.Point(4, 22);
// this.tpManageGroups.Name = "tpManageGroups";
// label5 this.tpManageGroups.Padding = new System.Windows.Forms.Padding(3);
// this.tpManageGroups.Size = new System.Drawing.Size(776, 538);
this.label5.AutoSize = true; this.tpManageGroups.TabIndex = 3;
this.label5.Location = new System.Drawing.Point(630, 6); this.tpManageGroups.Text = "Manage Groups";
this.label5.Name = "label5"; this.tpManageGroups.UseVisualStyleBackColor = true;
this.label5.Size = new System.Drawing.Size(34, 13); //
this.label5.TabIndex = 4; // btnAddMember
this.label5.Text = "Users"; //
// this.btnAddMember.Location = new System.Drawing.Point(337, 190);
// label3 this.btnAddMember.Name = "btnAddMember";
// this.btnAddMember.Size = new System.Drawing.Size(36, 29);
this.label3.AutoSize = true; this.btnAddMember.TabIndex = 19;
this.label3.Location = new System.Drawing.Point(381, 6); this.btnAddMember.Text = "<<";
this.label3.Name = "label3"; this.tt.SetToolTip(this.btnAddMember, "Add User as Members of Group");
this.label3.Size = new System.Drawing.Size(41, 13); this.btnAddMember.UseVisualStyleBackColor = true;
this.label3.TabIndex = 1; this.btnAddMember.Click += new System.EventHandler(this.addMember_Click);
this.label3.Text = "Groups"; //
// // btnRemoveMember
// lstGroups //
// this.btnRemoveMember.Location = new System.Drawing.Point(337, 254);
this.lstGroups.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.btnRemoveMember.Name = "btnRemoveMember";
| System.Windows.Forms.AnchorStyles.Left))); this.btnRemoveMember.Size = new System.Drawing.Size(36, 29);
this.lstGroups.FormattingEnabled = true; this.btnRemoveMember.TabIndex = 18;
this.lstGroups.Location = new System.Drawing.Point(384, 21); this.btnRemoveMember.Text = ">>";
this.lstGroups.Name = "lstGroups"; this.tt.SetToolTip(this.btnRemoveMember, "Remove User From Group");
this.lstGroups.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; this.btnRemoveMember.UseVisualStyleBackColor = true;
this.lstGroups.Size = new System.Drawing.Size(240, 277); this.btnRemoveMember.Click += new System.EventHandler(this.removeMember_Click);
this.lstGroups.TabIndex = 0; //
this.lstGroups.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstGroups_MouseUp); // label1
this.lstGroups.SelectedIndexChanged += new System.EventHandler(this.lstGroups_SelectedIndexChanged); //
// this.label1.AutoSize = true;
// tpDefault this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
// this.label1.Location = new System.Drawing.Point(386, 42);
this.tpDefault.BackColor = System.Drawing.SystemColors.ButtonFace; this.label1.Name = "label1";
this.tpDefault.Controls.Add(this.label8); this.label1.Size = new System.Drawing.Size(97, 15);
this.tpDefault.Controls.Add(this.pnlGroups); this.label1.TabIndex = 17;
this.tpDefault.Location = new System.Drawing.Point(4, 22); this.label1.Text = "Non Members";
this.tpDefault.Name = "tpDefault"; //
this.tpDefault.Padding = new System.Windows.Forms.Padding(3); // lbNonMembers
this.tpDefault.Size = new System.Drawing.Size(776, 538); //
this.tpDefault.TabIndex = 0; this.lbNonMembers.AutoSize = true;
this.tpDefault.Text = "Default Group"; this.lbNonMembers.Location = new System.Drawing.Point(386, 42);
// this.lbNonMembers.Name = "lbNonMembers";
// label8 this.lbNonMembers.Size = new System.Drawing.Size(73, 13);
// this.lbNonMembers.TabIndex = 17;
this.label8.Location = new System.Drawing.Point(308, 6); this.lbNonMembers.Text = "Non Members";
this.label8.Name = "label8"; //
this.label8.Size = new System.Drawing.Size(460, 172); // btnDeleteGroup
this.label8.TabIndex = 5; //
this.label8.Text = "label8"; this.btnDeleteGroup.ForeColor = System.Drawing.Color.Red;
// this.btnDeleteGroup.Location = new System.Drawing.Point(668, 12);
// pnlGroups this.btnDeleteGroup.Name = "btnDeleteGroup";
// this.btnDeleteGroup.Size = new System.Drawing.Size(89, 23);
this.pnlGroups.AutoScroll = true; this.btnDeleteGroup.TabIndex = 16;
this.pnlGroups.Location = new System.Drawing.Point(3, 6); this.btnDeleteGroup.Text = "Delete Group";
this.pnlGroups.Name = "pnlGroups"; this.btnDeleteGroup.UseVisualStyleBackColor = true;
this.pnlGroups.Size = new System.Drawing.Size(299, 526); this.btnDeleteGroup.Click += new System.EventHandler(this.deleteGroup_Click);
this.pnlGroups.TabIndex = 4; //
// // cbGroupSelection
// cmMembers //
// this.cbGroupSelection.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmMembers.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.cbGroupSelection.FormattingEnabled = true;
this.removeMemberToolStripMenuItem}); this.cbGroupSelection.Location = new System.Drawing.Point(50, 9);
this.cmMembers.Name = "cmGroupMembers"; this.cbGroupSelection.Name = "cbGroupSelection";
this.cmMembers.Size = new System.Drawing.Size(166, 26); this.cbGroupSelection.Size = new System.Drawing.Size(272, 21);
// this.cbGroupSelection.TabIndex = 15;
// removeMemberToolStripMenuItem this.cbGroupSelection.SelectedIndexChanged += new System.EventHandler(this.cbGroupSelection_SelectedIndexChanged);
// //
this.removeMemberToolStripMenuItem.Name = "removeMemberToolStripMenuItem"; // lstNonMembers
this.removeMemberToolStripMenuItem.Size = new System.Drawing.Size(165, 22); //
this.removeMemberToolStripMenuItem.Text = "Remove Member"; this.lstNonMembers.FormattingEnabled = true;
this.removeMemberToolStripMenuItem.Click += new System.EventHandler(this.removeMemberToolStripMenuItem_Click); this.lstNonMembers.Location = new System.Drawing.Point(389, 61);
// this.lstNonMembers.Name = "lstNonMembers";
// cmUsers this.lstNonMembers.Size = new System.Drawing.Size(316, 472);
// this.lstNonMembers.TabIndex = 14;
this.cmUsers.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { //
// pnlMembers
//
this.pnlMembers.Controls.Add(this.lstMembers);
this.pnlMembers.Controls.Add(this.lblMembers);
this.pnlMembers.Location = new System.Drawing.Point(6, 42);
this.pnlMembers.Name = "pnlMembers";
this.pnlMembers.Size = new System.Drawing.Size(316, 493);
this.pnlMembers.TabIndex = 13;
//
// lstMembers
//
this.lstMembers.Dock = System.Windows.Forms.DockStyle.Fill;
this.lstMembers.FormattingEnabled = true;
this.lstMembers.Location = new System.Drawing.Point(0, 19);
this.lstMembers.Name = "lstMembers";
this.lstMembers.Size = new System.Drawing.Size(316, 474);
this.lstMembers.TabIndex = 10;
//
// lblMembers
//
this.lblMembers.Dock = System.Windows.Forms.DockStyle.Top;
this.lblMembers.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblMembers.Location = new System.Drawing.Point(0, 0);
this.lblMembers.Name = "lblMembers";
this.lblMembers.Size = new System.Drawing.Size(316, 19);
this.lblMembers.TabIndex = 2;
this.lblMembers.Text = "Selected Group Users";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(3, 12);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(39, 13);
this.label3.TabIndex = 3;
this.label3.Text = "Group:";
//
// tpManageUsers
//
this.tpManageUsers.Controls.Add(this.lblUserGroups);
this.tpManageUsers.Controls.Add(this.lstGroups);
this.tpManageUsers.Controls.Add(this.lstUsers);
this.tpManageUsers.Controls.Add(this.lblUsers);
this.tpManageUsers.Location = new System.Drawing.Point(4, 22);
this.tpManageUsers.Name = "tpManageUsers";
this.tpManageUsers.Size = new System.Drawing.Size(776, 538);
this.tpManageUsers.TabIndex = 4;
this.tpManageUsers.Text = "Manage Users";
this.tpManageUsers.UseVisualStyleBackColor = true;
//
// lblUserGroups
//
this.lblUserGroups.AutoSize = true;
this.lblUserGroups.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblUserGroups.Location = new System.Drawing.Point(268, 11);
this.lblUserGroups.Name = "lblUserGroups";
this.lblUserGroups.Size = new System.Drawing.Size(225, 15);
this.lblUserGroups.TabIndex = 9;
this.lblUserGroups.Text = "Groups That User Is a Member Of:";
//
// lstGroups
//
this.lstGroups.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.lstGroups.FormattingEnabled = true;
this.lstGroups.Location = new System.Drawing.Point(271, 36);
this.lstGroups.Name = "lstGroups";
this.lstGroups.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
this.lstGroups.Size = new System.Drawing.Size(502, 498);
this.lstGroups.TabIndex = 8;
this.lstGroups.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstGroups_MouseUp);
//
// lstUsers
//
this.lstUsers.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.lstUsers.FormattingEnabled = true;
this.lstUsers.Location = new System.Drawing.Point(8, 36);
this.lstUsers.Name = "lstUsers";
this.lstUsers.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
this.lstUsers.Size = new System.Drawing.Size(217, 498);
this.lstUsers.TabIndex = 7;
this.lstUsers.SelectedIndexChanged += new System.EventHandler(this.lstUsers_SelectedIndexChanged);
this.lstUsers.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstUsers_MouseUp);
//
// lblUsers
//
this.lblUsers.AutoSize = true;
this.lblUsers.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblUsers.Location = new System.Drawing.Point(8, 11);
this.lblUsers.Name = "lblUsers";
this.lblUsers.Size = new System.Drawing.Size(44, 15);
this.lblUsers.TabIndex = 6;
this.lblUsers.Text = "Users";
//
// tpDefault
//
this.tpDefault.BackColor = System.Drawing.SystemColors.ButtonFace;
this.tpDefault.Controls.Add(this.label8);
this.tpDefault.Controls.Add(this.pnlGroups);
this.tpDefault.Location = new System.Drawing.Point(4, 22);
this.tpDefault.Name = "tpDefault";
this.tpDefault.Padding = new System.Windows.Forms.Padding(3);
this.tpDefault.Size = new System.Drawing.Size(776, 538);
this.tpDefault.TabIndex = 0;
this.tpDefault.Text = "Default Group";
//
// label8
//
this.label8.Location = new System.Drawing.Point(308, 6);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(460, 172);
this.label8.TabIndex = 5;
this.label8.Text = "label8";
//
// pnlGroups
//
this.pnlGroups.AutoScroll = true;
this.pnlGroups.Location = new System.Drawing.Point(3, 6);
this.pnlGroups.Name = "pnlGroups";
this.pnlGroups.Size = new System.Drawing.Size(299, 526);
this.pnlGroups.TabIndex = 4;
//
// cmMembers
//
this.cmMembers.Name = "cmGroupMembers";
this.cmMembers.Size = new System.Drawing.Size(61, 4);
//
// removeMemberToolStripMenuItem
//
this.removeMemberToolStripMenuItem.Name = "removeMemberToolStripMenuItem";
this.removeMemberToolStripMenuItem.Size = new System.Drawing.Size(165, 22);
this.removeMemberToolStripMenuItem.Text = "Remove Member";
this.removeMemberToolStripMenuItem.Click += new System.EventHandler(this.removeMemberToolStripMenuItem_Click);
//
// cmUsers
//
this.cmUsers.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.addUserToolStripMenuItem, this.addUserToolStripMenuItem,
this.editUserToolStripMenuItem, this.editUserToolStripMenuItem,
this.deleteUserToolStripMenuItem, this.deleteUserToolStripMenuItem});
this.addMemberToolStripMenuItemUser}); this.cmUsers.Name = "cmUsers";
this.cmUsers.Name = "cmUsers"; this.cmUsers.Size = new System.Drawing.Size(145, 92);
this.cmUsers.Size = new System.Drawing.Size(153, 114); //
// // addUserToolStripMenuItem
// addUserToolStripMenuItem //
// this.addUserToolStripMenuItem.Name = "addUserToolStripMenuItem";
this.addUserToolStripMenuItem.Name = "addUserToolStripMenuItem"; this.addUserToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
this.addUserToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.addUserToolStripMenuItem.Text = "Add User";
this.addUserToolStripMenuItem.Text = "Add User"; this.addUserToolStripMenuItem.Click += new System.EventHandler(this.addUserToolStripMenuItem_Click);
this.addUserToolStripMenuItem.Click += new System.EventHandler(this.addUserToolStripMenuItem_Click); //
// // editUserToolStripMenuItem
// editUserToolStripMenuItem //
// this.editUserToolStripMenuItem.Name = "editUserToolStripMenuItem";
this.editUserToolStripMenuItem.Name = "editUserToolStripMenuItem"; this.editUserToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
this.editUserToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.editUserToolStripMenuItem.Text = "Edit User";
this.editUserToolStripMenuItem.Text = "Edit User"; this.editUserToolStripMenuItem.Click += new System.EventHandler(this.editUserToolStripMenuItem_Click);
this.editUserToolStripMenuItem.Click += new System.EventHandler(this.editUserToolStripMenuItem_Click); //
// // deleteUserToolStripMenuItem
// deleteUserToolStripMenuItem //
// this.deleteUserToolStripMenuItem.Name = "deleteUserToolStripMenuItem";
this.deleteUserToolStripMenuItem.Name = "deleteUserToolStripMenuItem"; this.deleteUserToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
this.deleteUserToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.deleteUserToolStripMenuItem.Text = "Delete User";
this.deleteUserToolStripMenuItem.Text = "Delete User"; this.deleteUserToolStripMenuItem.Click += new System.EventHandler(this.deleteUserToolStripMenuItem_Click);
this.deleteUserToolStripMenuItem.Click += new System.EventHandler(this.deleteUserToolStripMenuItem_Click); //
// // dlgManageSecurity
// addMemberToolStripMenuItemUser //
// this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.addMemberToolStripMenuItemUser.Name = "addMemberToolStripMenuItemUser"; this.ClientSize = new System.Drawing.Size(784, 564);
this.addMemberToolStripMenuItemUser.Size = new System.Drawing.Size(152, 22); this.Controls.Add(this.tcSecurity);
this.addMemberToolStripMenuItemUser.Text = "Add Member"; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.addMemberToolStripMenuItemUser.Click += new System.EventHandler(this.addMemberToolStripMenuItem_Click); this.MaximizeBox = false;
// this.MinimizeBox = false;
// cmGroups this.Name = "dlgManageSecurity";
// this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.cmGroups.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.Text = "Manage Security";
this.deleteGroupToolStripMenuItem, this.Load += new System.EventHandler(this.dlgManageSecurity_Load);
this.addMemberToolStripMenuItemGroup}); this.tcSecurity.ResumeLayout(false);
this.cmGroups.Name = "cmGroups"; this.tpManageFolders.ResumeLayout(false);
this.cmGroups.Size = new System.Drawing.Size(145, 48); this.tpManageFolders.PerformLayout();
// this.cmFolders.ResumeLayout(false);
// deleteGroupToolStripMenuItem this.tpManageGroups.ResumeLayout(false);
// this.tpManageGroups.PerformLayout();
this.deleteGroupToolStripMenuItem.Name = "deleteGroupToolStripMenuItem"; this.pnlMembers.ResumeLayout(false);
this.deleteGroupToolStripMenuItem.Size = new System.Drawing.Size(144, 22); this.tpManageUsers.ResumeLayout(false);
this.deleteGroupToolStripMenuItem.Text = "Delete Group"; this.tpManageUsers.PerformLayout();
this.deleteGroupToolStripMenuItem.Click += new System.EventHandler(this.deleteGroupToolStripMenuItem_Click); this.tpDefault.ResumeLayout(false);
// this.cmUsers.ResumeLayout(false);
// addMemberToolStripMenuItemGroup this.ResumeLayout(false);
//
this.addMemberToolStripMenuItemGroup.Name = "addMemberToolStripMenuItemGroup";
this.addMemberToolStripMenuItemGroup.Size = new System.Drawing.Size(144, 22);
this.addMemberToolStripMenuItemGroup.Text = "Add Member";
this.addMemberToolStripMenuItemGroup.Click += new System.EventHandler(this.addMemberToolStripMenuItem_Click);
//
// dlgManageSecurity
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(784, 564);
this.Controls.Add(this.tcSecurity);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "dlgManageSecurity";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Manage Security";
this.Load += new System.EventHandler(this.dlgManageSecurity_Load);
this.tcSecurity.ResumeLayout(false);
this.tpGroupUsers.ResumeLayout(false);
this.tpGroupUsers.PerformLayout();
this.pnlMembers.ResumeLayout(false);
this.cmFolders.ResumeLayout(false);
this.tpDefault.ResumeLayout(false);
this.cmMembers.ResumeLayout(false);
this.cmUsers.ResumeLayout(false);
this.cmGroups.ResumeLayout(false);
this.ResumeLayout(false);
} }
@@ -357,20 +445,14 @@ namespace VEPROMS
private System.Windows.Forms.TabControl tcSecurity; private System.Windows.Forms.TabControl tcSecurity;
private System.Windows.Forms.TabPage tpDefault; private System.Windows.Forms.TabPage tpDefault;
private System.Windows.Forms.TabPage tpGroupUsers; private System.Windows.Forms.TabPage tpManageFolders;
private System.Windows.Forms.ListBox lstGroups;
private System.Windows.Forms.Label lblMembers;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.ContextMenuStrip cmGroups;
private System.Windows.Forms.ListBox lstUsers;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.ContextMenuStrip cmUsers; private System.Windows.Forms.ContextMenuStrip cmUsers;
private System.Windows.Forms.ToolStripMenuItem addUserToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem addUserToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem editUserToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem editUserToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem deleteUserToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem deleteUserToolStripMenuItem;
private System.Windows.Forms.ContextMenuStrip cmMembers; private System.Windows.Forms.ContextMenuStrip cmMembers;
private System.Windows.Forms.ToolStripMenuItem removeMemberToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem removeMemberToolStripMenuItem;
private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label6;
private System.Windows.Forms.TreeView tvFolders; private System.Windows.Forms.TreeView tvFolders;
private System.Windows.Forms.ContextMenuStrip cmFolders; private System.Windows.Forms.ContextMenuStrip cmFolders;
private System.Windows.Forms.ToolStripMenuItem createSetAdministratorGroupToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem createSetAdministratorGroupToolStripMenuItem;
@@ -379,10 +461,23 @@ namespace VEPROMS
private System.Windows.Forms.ToolStripMenuItem createReviewerGroupToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem createReviewerGroupToolStripMenuItem;
private System.Windows.Forms.Panel pnlGroups; private System.Windows.Forms.Panel pnlGroups;
private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label8;
private System.Windows.Forms.ToolStripMenuItem deleteGroupToolStripMenuItem; private System.Windows.Forms.TabPage tpManageGroups;
private System.Windows.Forms.Panel pnlMembers; private System.Windows.Forms.TabPage tpManageUsers;
private System.Windows.Forms.ListBox lstMembers; private System.Windows.Forms.Panel pnlMembers;
private System.Windows.Forms.ToolStripMenuItem addMemberToolStripMenuItemUser; private System.Windows.Forms.ListBox lstMembers;
private System.Windows.Forms.ToolStripMenuItem addMemberToolStripMenuItemGroup; private System.Windows.Forms.Label lblMembers;
} private System.Windows.Forms.ListBox lstUsers;
private System.Windows.Forms.Label lblUsers;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.ComboBox cbGroupSelection;
private System.Windows.Forms.ListBox lstNonMembers;
private System.Windows.Forms.Button btnDeleteGroup;
private System.Windows.Forms.Label lbNonMembers;
private System.Windows.Forms.ListBox lstGroups;
private System.Windows.Forms.Button btnAddMember;
private System.Windows.Forms.Button btnRemoveMember;
private System.Windows.Forms.ToolTip tt;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label lblUserGroups;
}
} }

View File

@@ -7,30 +7,491 @@ using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using VEPROMS.CSLA.Library; using VEPROMS.CSLA.Library;
using Volian.Base.Library; using Volian.Base.Library;
using Volian.Controls.Library;
using System.Linq;
namespace VEPROMS namespace VEPROMS
{ {
//C2024-047 Redesign PROMS Security Dialog
public partial class dlgManageSecurity : Form public partial class dlgManageSecurity : Form
{ {
#region Log4Net #region Log4Net
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
#endregion #endregion
#region Main Form / Shared Code
private GroupInfoList myGroupInfoList; private GroupInfoList myGroupInfoList;
private UserInfoList myUserInfoList; private UserInfoList myUserInfoList;
private List<MembershipInfo> myMembershipInfoList; private List<MembershipInfo> myMembershipInfoList;
private Folder myFolder; private Folder myFolder;
public dlgManageSecurity() public dlgManageSecurity()
{ {
InitializeComponent(); InitializeComponent();
} }
private void dlgManageSecurity_Load(object sender, EventArgs e) private void dlgManageSecurity_Load(object sender, EventArgs e)
{ {
//load all folders
myFolder = Folder.Get(1); myFolder = Folder.Get(1);
SetupSecurity();
SetupGroups(); //Default to Users Tab
tcSecurity.SelectedIndex = 2;
} }
//This is called when the Index Changes for main tab Control
//it loads info for the current tab
private void changedTab(object sender, EventArgs e)
{
LoadRefreshGroupUsers();
switch (tcSecurity.SelectedIndex)
{
//Manage Folders
case 0:
SetupFolderOptions();
break;
//Manage Groups
case 1:
SetupGroups();
break;
//Manage Users (note that this is the default)
case 2:
SetupUserOptions();
break;
//Default Options tab
case 3:
SetupDefaultGroupOptions();
break;
}
}
//Loads a refreshed list of Groups and Users
private void LoadRefreshGroupUsers()
{
GroupInfoList.Reset();
myGroupInfoList = GroupInfoList.Get();
UserInfoList.Reset();
myUserInfoList = UserInfoList.Get();
}
#endregion
#region Manage Folders
//Sets up Folders
private void SetupFolderOptions()
{
if (tvFolders.Nodes.Count == 0)
{
FolderInfo fi = FolderInfo.Get(1);
LoadChildFolders(fi, null);
}
}
//loads child folders in tree view
private void LoadChildFolders(FolderInfo fi, TreeNode tn)
{
if (tn == null)
{
tn = tvFolders.Nodes.Add(fi.Name);
tn.Tag = fi;
}
else
{
tn = tn.Nodes.Add(fi.Name);
tn.Tag = fi;
}
if (fi.ChildFolderCount > 0)
{
foreach (FolderInfo fic in fi.SortedChildFolders)
{
LoadChildFolders(fic, tn);
}
}
}
//Handles Creating a New Group
private void createGroupMenuItem(object sender, EventArgs e)
{
try
{
ToolStripDropDownItem tsddi = sender as ToolStripDropDownItem;
TreeNode tn = tvFolders.SelectedNode;
FolderInfo fi = tn.Tag as FolderInfo;
AddNewGroup(tsddi.Text, fi);
}
catch (Exception ex)
{
_MyLog.Warn("createGroupMenuItem", ex);
}
}
private void AddNewGroup(string txt, FolderInfo fi)
{
txt = txt.Replace("Create", "").Replace(" a ", "").Replace("Group", "").Trim();
RoleInfoList ril = RoleInfoList.Get();
// B2022-080: cannot add a new group in Proms security. if the sql database's 'Roles' table was not initialized with the default roles, such as Set Administrator,
// Writer, Reviewer, RO Editor, the Adding of new groups won't work. Databases should have this loaded by default.
// Promsfixes has queries that insert these, but only gets run if there are no assignments (see commands under --define Roles)
if (ril == null || ril.Count < 2)
{
MessageBox.Show("Roles table is missing entries.\r\nPlease contact Volian to create other groups.", "Cannot create groups", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
foreach (var ri in ril.Where(ri => ri.Name == txt))
{
string gin = string.Format("{0}s - {1}", ri.Name, fi.Name);
if (!myGroupInfoList.Any(gi => gi.GroupName == gin))
{
Group group = Group.MakeGroup(gin, null, null);
Assignment.MakeAssignment(group, Role.Get(ri.RID), Folder.Get(fi.FolderID), null);
}
}
LoadRefreshGroupUsers();
}
private void tvFolders_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
tvFolders.SelectedNode = e.Node;
}
#endregion
#region Manage Groups
//Sets up Group Options
private void SetupGroups() private void SetupGroups()
{
cbGroupSelection.Items.Clear();
foreach (GroupInfo gi in myGroupInfoList)
cbGroupSelection.Items.Add(gi.GroupName);
cbGroupSelection.SelectedIndex = 0;
}
private void cbGroupSelection_SelectedIndexChanged(object sender, EventArgs e) => updateMembershipLists();
//Updates the lists of members / nonMembers
private void updateMembershipLists()
{
myMembershipInfoList = new List<MembershipInfo>();
if (cbGroupSelection.SelectedIndex > -1)
{
GroupInfo gi = myGroupInfoList[cbGroupSelection.SelectedIndex];
gi.RefreshGroupMemberships();
if (gi.GroupMembershipCount > 0)
myMembershipInfoList.AddRange(gi.GroupMemberships.Where(mi => mi.EndDate == null || mi.EndDate == string.Empty).OrderBy(x => x.MyUserUserID));
}
lstMembers.DataSource = myMembershipInfoList;
lstMembers.ValueMember = "UID";
lstMembers.DisplayMember = "MyUserUserID";
//set NonMembers to Users that are not in Members
lstNonMembers.DataSource = myUserInfoList.Select(x => x.UserID).Except(myMembershipInfoList.Select(x => x.MyUser.UserID)).ToList();
}
//Add a Member to a Group
private void addMember_Click(object sender, EventArgs e)
{
int groupIndex = cbGroupSelection.SelectedIndex;
string selectedUserID = lstNonMembers.SelectedValue.ToString();
int selectedUID = UserInfo.GetByUserID(selectedUserID).UID;
GroupInfo gi = myGroupInfoList[groupIndex];
User selectedUser = User.Get(selectedUID);
Membership.MakeMembership(selectedUser, Group.Get(gi.GID), null, "");
updateMembershipLists();
lstNonMembers.SelectedIndex = -1;
int index = lstMembers.FindString(selectedUserID);
lstMembers.SetSelected(index, true);
}
//Remove a Member From a Group
private void removeMember_Click(object sender, EventArgs e)
{
if (lstMembers.SelectedIndex > -1)
{
MembershipInfo mi = (MembershipInfo)lstMembers.SelectedItem;
string selectedUserID = mi.MyUserUserID;
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)
{
if (mi.MyGroup.GroupName == "Administrators" && mi.MyGroup.GroupMemberships.Count(mm => mm.EndDate == null || mm.EndDate == string.Empty) == 1)
{
MessageBox.Show("You must have at least 1 user assigned to the Administrators group", "One Administrator Required", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
Membership m = Membership.Get(mi.UGID);
m.EndDate = DateTime.Now.ToShortDateString();
m.Save();
updateMembershipLists();
lstMembers.SelectedIndex = -1;
lstNonMembers.SelectedItem = selectedUserID;
}
}
}
//Deletes the Currently Selected Group
private void deleteGroup_Click(object sender, EventArgs e)
{
if (cbGroupSelection.SelectedIndex < 0)
{
MessageBox.Show("You must select a group to delete", "No Group Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
GroupInfo gi = myGroupInfoList[cbGroupSelection.SelectedIndex];
if(myFolder.FolderConfig.Security_Group == gi.GID)
{
MessageBox.Show("Cannot Delete Default Group", "Attempt to Delete Default", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
bool deleteOK = true;
if (gi.GroupMembershipCount > 0 && gi.GroupMemberships.Any(mi => mi.EndDate == null || mi.EndDate == string.Empty))
deleteOK = false;
if (!deleteOK)
{
MessageBox.Show("There are still users who are members of this group. You need to delete all members in order to delete this group.", "Group Has Members", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (MessageBox.Show("Are you sure you want to delete this group?", "Confirm Deleting Group", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
{
Group.Delete(gi.GID);
LoadRefreshGroupUsers();
SetupGroups();
}
}
#endregion
#region Manage Users
//Sets up UserOptions
private void SetupUserOptions()
{
lstUsers.Items.Clear();
foreach (UserInfo ui in myUserInfoList)
lstUsers.Items.Add(ui.UserID);
lstUsers.SelectedIndex = -1;
lstGroups.DataSource = null;
}
#region Manage Users - User Options
//Build Membership list based on selected user
private void lstUsers_SelectedIndexChanged(object sender, EventArgs e)
{
myMembershipInfoList = new List<MembershipInfo>();
if (lstUsers.SelectedIndex > -1)
{
UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
if (ui.UserMembershipCount > 0)
{
myMembershipInfoList.AddRange(ui.UserMemberships.Where(mi => mi.EndDate == null || mi.EndDate == string.Empty));
}
}
lstGroups.DataSource = myMembershipInfoList;
lstGroups.ValueMember = "UGID";
lstGroups.DisplayMember = "MyGroupName";
}
//Select User and set up Mouse Click Menus based on
//where click in User Box
private void lstUsers_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
int k = lstUsers.IndexFromPoint(e.Location);
if (k >= 0)
{
lstUsers.SelectedIndex = k;
editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.Visible = true;
}
else
{
addUserToolStripMenuItem.Visible = true;
editUserToolStripMenuItem.Visible = deleteUserToolStripMenuItem.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;
}
}
}
//Adds a new User
private void addUserToolStripMenuItem_Click(object sender, EventArgs e)
{
User u = User.MakeUser("[Enter New UserID]", "", "", "", "", "", "", "", "", "", "", DateTime.Now, "");
frmManageUser frm = new frmManageUser("add");
frm.MyUser = u;
if (frm.ShowDialog(this) == DialogResult.OK)
{
u = frm.MyUser;
u.Save();
Membership.MakeMembership(u, Group.Get(myFolder.FolderConfig.Security_Group), "", "");
//Update the User list to reflect the added user
LoadRefreshGroupUsers();
SetupUserOptions();
lstUsers.SelectedItem = u.UserID;
}
else
{
u.Delete();
}
}
//Edit a User's details
private void editUserToolStripMenuItem_Click(object sender, EventArgs e)
{
if (lstUsers.SelectedIndex == -1)
{
MessageBox.Show("You must select a user to edit", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
using (User u = User.Get(ui.UID))
{
frmManageUser frm = new frmManageUser("edit");
frm.MyUser = u;
if (frm.ShowDialog(this) == DialogResult.OK)
{
frm.MyUser.Save();
//Update the User list to reflect the edited user
//this is done in case the UserID is updated so the list updates to reflect that
LoadRefreshGroupUsers();
SetupUserOptions();
lstUsers.SelectedItem = u.UserID;
}
}
}
//Delete a User
private void deleteUserToolStripMenuItem_Click(object sender, EventArgs e)
{
if (lstUsers.SelectedIndex == -1)
{
MessageBox.Show("You must select a user to delete", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
SessionInfoList sil = SessionInfoList.Get();
foreach (SessionInfo si in sil)
{
if (si.UserID == ui.UserID && (si.DTSEnd == null))
{
MessageBox.Show("The user selected has an active session. You may not delete the user at this time.", "User Active Session", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
int nummemberships = ui.UserMemberships.Count(mi => mi.EndDate == null || mi.EndDate == string.Empty);
string mem_text = nummemberships > 0 ? "\r\nNote that this will remove all memberships that this user has." : "";
if (MessageBox.Show($"Are you sure you want to delete this user?{mem_text}", "Confirm Deleting User", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
{
foreach (MembershipInfo minfo in ui.UserMemberships.Where(mi => mi.EndDate == null || mi.EndDate == string.Empty))
{
Membership m = Membership.Get(minfo.UGID);
m.EndDate = DateTime.Now.ToShortDateString();
m.Save();
}
User.Delete(ui.UID);
//Update the User list to reflect the deleted user
LoadRefreshGroupUsers();
SetupUserOptions();
lstUsers.SelectedIndex = -1;
lstGroups.DataSource = null;
}
}
#endregion
#region Manage Users - Member Options
//Adds Context Menu for when a Group is selected
private void lstGroups_MouseUp(object sender, MouseEventArgs e)
{
cmMembers.Items.Clear();
lstGroups.SelectedIndex = -1;
if (e.Button == MouseButtons.Right)
{
int k = lstGroups.IndexFromPoint(e.Location);
if (k >= 0)
{
lstGroups.SelectedIndex = k;
cmMembers.Items.Add(this.removeMemberToolStripMenuItem);
}
var groupsCanAddTo = myGroupInfoList.Select(x => new { x.GroupName, x.GID }).Except(myMembershipInfoList.Select(x => new { x.MyGroup.GroupName, x.GID }));
foreach (var possiblegroup in groupsCanAddTo)
{
ToolStripMenuItemwithValue AddToMenuItem = new ToolStripMenuItemwithValue($"Add as Member to Group: {possiblegroup.GroupName}", possiblegroup.GID);
AddToMenuItem.Click += addMemberToolStripMenuItem_Click;
cmMembers.Items.Add(AddToMenuItem);
}
cmMembers.Show(lstGroups, e.Location);
}
else if (e.Button == MouseButtons.Left)
{
int k = lstGroups.IndexFromPoint(e.Location);
if (k >= 0)
{
lstGroups.SelectedIndex = k;
}
}
}
//Adds a User to a Group
private void addMemberToolStripMenuItem_Click(object sender, EventArgs e)
{
ToolStripMenuItemwithValue item = (ToolStripMenuItemwithValue)sender;
int userIndex = lstUsers.SelectedIndex;
UserInfo ui = myUserInfoList[userIndex];
Membership.MakeMembership(User.Get(ui.UID), Group.Get((int) item.Value), null, "");
//Update the Group list to reflect the added group
LoadRefreshGroupUsers();
lstUsers_SelectedIndexChanged(sender, e);
}
//Removes a User from a Group
private void removeMemberToolStripMenuItem_Click(object sender, EventArgs e)
{
MembershipInfo mi = (MembershipInfo)lstGroups.SelectedItem;
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)
{
if (mi.MyGroup.GroupName == "Administrators" && mi.MyGroup.GroupMemberships.Count(mm => mm.EndDate == null || mm.EndDate == string.Empty) == 1)
{
MessageBox.Show("You must have at least 1 user assigned to the Administrators group", "One Administrator Required", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
Membership m = Membership.Get(mi.UGID);
m.EndDate = DateTime.Now.ToShortDateString();
m.Save();
//Update the Group list to reflect the removed group
LoadRefreshGroupUsers();
lstUsers_SelectedIndexChanged(sender, e);
}
}
#endregion
#endregion
#region Default Options
//Sets up Default Group options for Default Tab
private void SetupDefaultGroupOptions()
{ {
pnlGroups.Controls.Clear(); pnlGroups.Controls.Clear();
foreach (GroupInfo gi in myGroupInfoList) foreach (GroupInfo gi in myGroupInfoList)
@@ -56,6 +517,7 @@ namespace VEPROMS
} }
} }
} }
//Handles changing the default group
private void rb_CheckedChanged(object sender, EventArgs e) private void rb_CheckedChanged(object sender, EventArgs e)
{ {
RadioButton rb = sender as RadioButton; RadioButton rb = sender as RadioButton;
@@ -64,446 +526,7 @@ namespace VEPROMS
myFolder.FolderConfig.Security_Group = gi.GID; myFolder.FolderConfig.Security_Group = gi.GID;
myFolder.Save(); myFolder.Save();
} }
private void SetupSecurity() #endregion
{
if (tvFolders.Nodes.Count == 0)
{
FolderInfo fi = FolderInfo.Get(1);
LoadChildFolders(fi, null);
}
lstMembers.Items.Clear();
lstUsers.Items.Clear();
lstGroups.Items.Clear();
GroupInfoList.Reset();
UserInfoList.Reset();
myGroupInfoList = GroupInfoList.Get();
myUserInfoList = UserInfoList.Get();
foreach (GroupInfo gi in myGroupInfoList)
lstGroups.Items.Add(gi.GroupName);
lstGroups.SelectedIndex = 0;
foreach (UserInfo ui in myUserInfoList)
lstUsers.Items.Add(ui.UserID);
lstGroups.SelectedIndex = -1;
lstUsers.SelectedIndex = -1;
}
private void LoadChildFolders(FolderInfo fi, TreeNode tn)
{
if (tn == null)
{
tn = tvFolders.Nodes.Add(fi.Name);
tn.Tag = fi;
}
else
{
tn = tn.Nodes.Add(fi.Name);
tn.Tag = fi;
}
if (fi.ChildFolderCount > 0)
{
foreach (FolderInfo fic in fi.SortedChildFolders)
{
LoadChildFolders(fic, tn);
}
}
}
private void lstGroups_SelectedIndexChanged(object sender, EventArgs e)
{
lblMembers.Text = "Selected Group Users";
myMembershipInfoList = new List<MembershipInfo>();
lstMembers.Items.Clear();
if (lstGroups.SelectedIndex > -1)
{
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);
lstMembers.Items.Add(mi.MyUser.UserID);
}
}
}
}
private void addMemberToolStripMenuItem_Click(object sender, EventArgs e)
{
int groupIndex = lstGroups.SelectedIndex;
int userIndex = lstUsers.SelectedIndex;
GroupInfo gi = myGroupInfoList[groupIndex];
UserInfo ui = myUserInfoList[userIndex];
Membership.MakeMembership(User.Get(ui.UID), Group.Get(gi.GID), null, "");
SetupSecurity();
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)
{
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)
{
int groupIndex = lstGroups.SelectedIndex;
int userIndex = lstUsers.SelectedIndex;
if (mi.MyGroup.GroupName == "Administrators")
{
int k = 0;
foreach(MembershipInfo mm in mi.MyGroup.GroupMemberships)
if(mm.EndDate == null || mm.EndDate == string.Empty)
k++;
if (k == 1)
{
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)
{
User u = User.MakeUser("[Enter New UserID]","", "", "", "", "", "", "", "", "", "",DateTime.Now,"");
frmManageUser frm = new frmManageUser("add");
frm.MyUser = u;
if (frm.ShowDialog(this) == DialogResult.OK)
{
u = frm.MyUser;
u.Save();
Membership.MakeMembership(u, Group.Get(myFolder.FolderConfig.Security_Group), "", "");
SetupSecurity();
}
else
{
u.Delete();
}
}
private void editUserToolStripMenuItem_Click(object sender, EventArgs e)
{
if (lstUsers.SelectedIndex == -1)
{
MessageBox.Show("You must select a user to edit", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
using (User u = User.Get(ui.UID))
{
frmManageUser frm = new frmManageUser("edit");
frm.MyUser = u;
if (frm.ShowDialog(this) == DialogResult.OK)
{
frm.MyUser.Save();
SetupSecurity();
}
}
}
private void deleteUserToolStripMenuItem_Click(object sender, EventArgs e)
{
if (lstUsers.SelectedIndex == -1)
{
MessageBox.Show("You must select a user to delete", "No User Selected", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
SessionInfoList sil = SessionInfoList.Get();
foreach (SessionInfo si in sil)
{
if (si.UserID == ui.UserID && (si.DTSEnd == null))
{
MessageBox.Show("The user selected has an active session. You may not delete the user at this time.", "User Active Session", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
int k = 0;
if (ui.UserMembershipCount > 0)
{
foreach (MembershipInfo mi in ui.UserMemberships)
{
if (mi.EndDate == null || mi.EndDate == string.Empty)
k++;
}
}
if (k > 0)
{
MessageBox.Show("You must remove user from all groups that user is a member of in order to delete user", "User Has Memberships", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (MessageBox.Show("Are you sure you want to delete this user?", "Confirm Deleting User", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
{
User.Delete(ui.UID);
SetupSecurity();
}
//to do delete user
//end date user memberships
//delete user
}
private void createGroupMenuItem(object sender, EventArgs e)
{
try
{
ToolStripDropDownItem tsddi = sender as ToolStripDropDownItem;
TreeNode tn = tvFolders.SelectedNode;
FolderInfo fi = tn.Tag as FolderInfo;
AddNewGroup(tsddi.Text, fi);
SetupSecurity();
}
catch (Exception ex)
{
_MyLog.Warn("createGroupMenuItem", ex);
}
}
private void AddNewGroup(string txt, FolderInfo fi)
{
txt = txt.Replace("Create", "").Replace(" a ", "").Replace("Group", "").Trim();
RoleInfoList ril = RoleInfoList.Get();
// B2022-080: cannot add a new group in Proms security. if the sql database's 'Roles' table was not initialized with the default roles, such as Set Administrator,
// Writer, Reviewer, RO Editor, the Adding of new groups won't work. Databases should have this loaded by default.
// Promsfixes has queries that insert these, but only gets run if there are no assignments (see commands under --define Roles)
if (ril == null || ril.Count < 2)
{
MessageBox.Show("Roles table is missing entries.\r\nPlease contact Volian to create other groups.", "Cannot create groups", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
foreach(RoleInfo ri in ril)
{
if (ri.Name == txt)
{
string gin = string.Format("{0}s - {1}", ri.Name, fi.Name);
bool addOK = true;
foreach (GroupInfo gi in myGroupInfoList)
{
if (gin == gi.GroupName)
{
addOK = false;
break;
}
}
if (addOK)
{
Group group = Group.MakeGroup(gin, null, null);
Assignment.MakeAssignment(group, Role.Get(ri.RID), Folder.Get(fi.FolderID), null);
}
}
}
GroupInfoList.Reset();
myGroupInfoList = GroupInfoList.Get();
SetupGroups();
}
private void lstUsers_SelectedIndexChanged(object sender, EventArgs e)
{
lblMembers.Text = "Selected User Groups";
myMembershipInfoList = new List<MembershipInfo>();
lstMembers.Items.Clear();
if (lstUsers.SelectedIndex > -1)
{
UserInfo ui = myUserInfoList[lstUsers.SelectedIndex];
if (ui.UserMembershipCount > 0)
{
foreach (MembershipInfo mi in ui.UserMemberships)
{
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];
if(myFolder.FolderConfig.Security_Group == gi.GID)
{
MessageBox.Show("Cannot Delete Default Group", "Attempt to Delete Default", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
bool deleteOK = true;
if(gi.GroupMembershipCount > 0)
{
foreach (MembershipInfo mi in gi.GroupMemberships)
{
if (mi.EndDate == null || mi.EndDate == string.Empty)
{
deleteOK = false;
break;
}
}
}
if (!deleteOK)
{
MessageBox.Show("There are still users who are members of this group. You need to delete all members in order to delete this group.", "Group Has Members", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (MessageBox.Show("Are you sure you want to delete this group?", "Confirm Deleting Group", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
{
Group.Delete(gi.GID);
GroupInfoList.Reset();
myGroupInfoList = GroupInfoList.Get();
SetupGroups();
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;
}
}
}
} }
} }

View File

@@ -112,21 +112,27 @@
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="cmFolders.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="cmFolders.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>234, 17</value>
</metadata>
<metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>341, 17</value> <value>341, 17</value>
</metadata> </metadata>
<metadata name="cmMembers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="cmMembers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="cmUsers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="cmUsers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>243, 17</value>
</metadata>
<metadata name="cmGroups.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>136, 17</value> <value>136, 17</value>
</metadata> </metadata>
<metadata name="tt.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>341, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>58</value>
</metadata>
</root> </root>

View File

@@ -1638,7 +1638,7 @@ namespace VEPROMS.CSLA.Library
// get the first enhanced section, there may be non-linked sections before first linked section: // get the first enhanced section, there may be non-linked sections before first linked section:
SectionConfig firstEnhSectionConfig = pastedEnhancedProc.Sections == null ? null : pastedEnhancedProc.Sections[0].MyConfig as SectionConfig; SectionConfig firstEnhSectionConfig = pastedEnhancedProc.Sections == null ? null : pastedEnhancedProc.Sections[0].MyConfig as SectionConfig;
ItemInfo pastedEnhancedCurrentSection = null; ItemInfo pastedEnhancedCurrentSection = null;
if (firstEnhSectionConfig.MyEnhancedDocuments.Count > 0) pastedEnhancedCurrentSection = pastedEnhancedProc.Sections[0]; if (firstEnhSectionConfig?.MyEnhancedDocuments.Count > 0) pastedEnhancedCurrentSection = pastedEnhancedProc.Sections[0];
else pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedProc.Sections[0]); else pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedProc.Sections[0]);
// newly pasted procedure has sections/steps, need to adjust 'MyEnhancedDocuments' config items to point to correct // newly pasted procedure has sections/steps, need to adjust 'MyEnhancedDocuments' config items to point to correct
@@ -1647,7 +1647,7 @@ namespace VEPROMS.CSLA.Library
foreach (ItemInfo sourceSect in Sections) foreach (ItemInfo sourceSect in Sections)
{ {
SectionConfig srcCfg = sourceSect.MyConfig as SectionConfig; SectionConfig srcCfg = sourceSect.MyConfig as SectionConfig;
if (srcCfg != null && (srcCfg.Section_LnkEnh=="Y" || srcCfg.Section_LnkEnh=="T") && srcCfg.MyEnhancedDocuments != null && srcCfg.MyEnhancedDocuments.Count > 0) if (srcCfg != null && (srcCfg.Section_LnkEnh != "N") && srcCfg.MyEnhancedDocuments != null && srcCfg.MyEnhancedDocuments.Count > 0)
{ {
// use pastedEnhancedCurrentSection to link to: // use pastedEnhancedCurrentSection to link to:
foreach (EnhancedDocument ed in srcCfg.MyEnhancedDocuments) foreach (EnhancedDocument ed in srcCfg.MyEnhancedDocuments)
@@ -1664,7 +1664,7 @@ namespace VEPROMS.CSLA.Library
enhSectCfg.MyEnhancedDocuments[0].ItemID = sourceSect.ItemID; enhSectCfg.MyEnhancedDocuments[0].ItemID = sourceSect.ItemID;
enhSectCfg.SaveEnhancedDocuments(); enhSectCfg.SaveEnhancedDocuments();
pastedEnhancedCurrentSection.SaveConfig(enhSectCfg.ToString()); pastedEnhancedCurrentSection.SaveConfig(enhSectCfg.ToString());
if (srcCfg.Section_LnkEnh == "Y") EnhancedSetStepLinks(sourceSect, enhProc.Type); //if steps, do them for this type if (srcCfg.Section_LnkEnh != "T") EnhancedSetStepLinks(sourceSect, enhProc.Type); //if steps, do them for this type
pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedCurrentSection); pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedCurrentSection);
} }
} }

View File

@@ -119,6 +119,15 @@ namespace VEPROMS.CSLA.Library
return _MyUser; return _MyUser;
} }
} }
public string MyUserUserID
{
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
get
{
if (_MyUser == null && _UID != 0) _MyUser = UserInfo.Get(_UID);
return _MyUser?.UserID;
}
}
private int _GID; private int _GID;
public int GID public int GID
{ {
@@ -139,6 +148,15 @@ namespace VEPROMS.CSLA.Library
return _MyGroup; return _MyGroup;
} }
} }
public string MyGroupName
{
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
get
{
if (_MyGroup == null && _GID != 0) _MyGroup = GroupInfo.Get(_GID);
return _MyGroup?.GroupName;
}
}
private string _StartDate = string.Empty; private string _StartDate = string.Empty;
public string StartDate public string StartDate
{ {

View File

@@ -0,0 +1,16 @@
using System.Windows.Forms;
namespace Volian.Controls.Library
{
//ToolStripMenuItem with Added Value Property
public class ToolStripMenuItemwithValue : ToolStripMenuItem
{
public readonly object Value;
public ToolStripMenuItemwithValue(string text, object value)
{
Value = value;
Text = text;
}
}
}

View File

@@ -384,6 +384,9 @@
<Compile Include="TablePropertiesControl.Designer.cs"> <Compile Include="TablePropertiesControl.Designer.cs">
<DependentUpon>TablePropertiesControl.cs</DependentUpon> <DependentUpon>TablePropertiesControl.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="ToolStripMenuItemwithValue.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="TransPanel.cs"> <Compile Include="TransPanel.cs">
<SubType>Component</SubType> <SubType>Component</SubType>
</Compile> </Compile>