Compare commits

..

116 Commits

Author SHA1 Message Date
8c5c7a5d93 Merge pull request 'Development' (#634) from Development into master
Merging dev into master after successful testing.
2025-10-09 12:50:13 -04:00
864ec2709c Merge pull request 'Development' (#620) from Development into master
Merging Dev into master after successful testing.
2025-09-24 08:25:00 -04:00
4b1ca8d7bf Merge pull request 'Development' (#612) from Development into master
Merging data into master after successful testing
2025-09-11 12:13:22 -04:00
3b73d54ea2 Merge pull request 'Development' (#600) from Development into master
Merging dev into master after successful testing.
2025-08-15 08:37:48 -04:00
2ca433c83f Merge pull request 'Development' (#576) from Development into master
Merging Dev into Master after successful testing.
2025-07-28 08:20:18 -04:00
0b40569727 Merge pull request 'Development' (#570) from Development into master
Reviewed-on: #570
2025-06-23 14:58:28 -04:00
afb0247d87 Merge pull request 'Development' (#559) from Development into master
Merging changes from dev into master after successful testing.
2025-05-20 13:24:21 -04:00
bce8461a7e Merge pull request 'Development' (#555) from Development into master
Merging all changes from dev into master after successful testing.
2025-05-15 15:01:00 -04:00
9d5cc43d71 Merge pull request 'Development' (#543) from Development into master
Merging dev into master after successful testing.
2025-05-01 11:25:49 -04:00
bc1370ab29 Merge pull request 'Development' (#540) from Development into master
Merging changes from Development into master after successful testing.
2025-04-23 15:13:56 -04:00
eaf2b14cfc Merge pull request 'Development' (#535) from Development into master
Merging all changes from development into master after successful testing.
2025-03-26 09:25:11 -04:00
1cf7d81aa5 Merge pull request 'Development' (#530) from Development into master
Merging all changes through B2025-017 from dev into master after successful testing.
2025-03-04 10:24:28 -05:00
f11a9536f0 Merge pull request 'Development' (#524) from Development into master
Merging all changes through B2025-015 from development into master after successful testing.
2025-02-20 15:33:44 -05:00
c7bdcf0104 Merge pull request 'Development' (#516) from Development into master
Merging changes from development into master after successful testing
2025-02-11 15:25:38 -05:00
df026499d5 Merge pull request 'Development' (#512) from Development into master
Merging all changes from development into master after successful testing.
2025-02-10 09:20:43 -05:00
a3aa4157b8 Merge pull request 'Development' (#508) from Development into master
Merging all changes through B2025-012 from development into master after successful testing.
2025-02-05 10:50:35 -05:00
8f3268e1bc Merge pull request 'Development' (#504) from Development into master
Merging all changes from development into master after successful testing.
2025-01-30 15:55:02 -05:00
5721d440e9 Merge branch 'master' of https://git.volian.com/Volian/SourceCode 2025-01-21 10:42:15 -05:00
505c396283 Merge pull request 'Development' (#489) from Development into master
Merging from development into master after successful testing.
2025-01-21 10:41:15 -05:00
643e6bc94f Merge pull request 'Development' (#486) from Development into master
Merging all items through B2025-003 from development in master after successful testing.
2025-01-09 15:02:16 -05:00
76502e6d97 Merge pull request 'Development' (#481) from Development into master
Merging all changes through F2024-087 after successful testing.
2024-12-11 11:52:34 -05:00
851a0b3810 Merge pull request 'Development' (#464) from Development into master
Merging all items through B2024-092 from development into master after successful testing.
2024-11-11 11:39:01 -05:00
fd8dbb4c8b Merge pull request 'Development' (#454) from Development into master
Merging all changes from development into master after successful testing.
2024-11-01 14:18:00 -04:00
4ffd994c5e Merge pull request 'Development' (#450) from Development into master
Merging all development items into master after successful testing.
2024-10-31 09:11:59 -04:00
a34828113a Merge pull request 'Development' (#416) from Development into master
Merging C2017-031 and B2024-075 from development into master after successful testing.
2024-10-03 12:08:30 -04:00
461329468c Merge pull request 'Development' (#413) from Development into master
Merging F2023-136 and F2024-074 in master after successful testing
2024-09-27 14:27:22 -04:00
35de5df04d Merge pull request 'Development' (#410) from Development into master
Merging all items through B2024-03 from development into master after successful testing.
2024-09-17 12:03:23 -04:00
4f0548fd60 Merge pull request 'Development' (#402) from Development into master
Merging C2021-034 and B2024-065 into master after successful testing.
2024-09-06 09:56:37 -04:00
5c1d96cc51 Merge pull request 'Development' (#399) from Development into master
Merging all fixes through B2024-063 from development into master after successful testing.
2024-08-27 15:58:15 -04:00
57049c0c52 Merge pull request 'Development' (#392) from Development into master
Merging B2024-059 and B2024-058 from development into master after successful testing.
2024-08-15 14:55:27 -04:00
31326e1c91 Merge pull request 'Development' (#389) from Development into master
Merging all changes through F2024-069 from development into master after successful testing.
2024-08-09 13:06:40 -04:00
3c60994a0a Merge pull request 'Development' (#373) from Development into master
Merging all changes through B2024-053 from development into master after successful testing.
2024-08-01 08:37:23 -04:00
773cc42346 Merge pull request 'Development' (#362) from Development into master
Merging B2024-046 and B2024-047 from development into master after successful testing.
2024-07-25 10:44:42 -04:00
f46a1f39dc Merge pull request 'Development' (#359) from Development into master
Merging B2024-042 from development into master after successful testing.
2024-07-22 11:14:19 -04:00
b7175bf77f Merge pull request 'Development' (#357) from Development into master
Merging C2024-005 from development into master after successful testing.
2024-07-18 15:41:20 -04:00
ec22232aa8 Merge pull request 'Development' (#356) from Development into master
Merging all items through B2024-041 from development into master after successful testing.
2024-07-18 09:51:54 -04:00
f303cd2236 Merge pull request 'Development' (#348) from Development into master
Merging F2024-065 and F2024-066 from development into master after successful testing.
2024-07-03 10:45:41 -04:00
f40cef4416 Merge pull request 'Development' (#346) from Development into master
Merging F2024-064 from development into master after successful testing.
2024-07-01 11:54:15 -04:00
fbca97d38d Merge pull request 'Development' (#344) from Development into master
Merging C2024-013 from development into master after successful testing.
2024-06-25 15:55:32 -04:00
28bd2cba5c Merge pull request 'Development' (#342) from Development into master
Merging C2022-029 from development into master after successful testing.
2024-06-20 11:36:59 -04:00
4b35f73bbf Merge pull request 'Development' (#340) from Development into master
Merging C2024-004 from development into master after successful testing.
2024-06-19 16:23:23 -04:00
f4706eb126 Merge pull request 'Development' (#338) from Development into master
Merging C2019-047 from development into master after successful testing.
2024-06-17 08:38:34 -04:00
21bcb90558 Merge pull request 'Development' (#335) from Development into master
Merging B2024-036 and F2024-063 from development into master after successful testing.
2024-06-06 14:51:13 -04:00
ae48ac0cae Merge pull request 'Development' (#332) from Development into master
Merging changes through B2024-035 from development into master after successful testing.
2024-05-30 08:08:28 -04:00
cb4979d5bc Merge pull request 'Development' (#327) from Development into master
Merging F2024-061 from development into master after successful testing.
2024-05-20 14:11:12 -04:00
7d3ae74e1f Merge pull request 'Development' (#325) from Development into master
Merging F2024-060 from development into master after successful testing.
2024-05-16 15:32:13 -04:00
9d680aa500 Merge pull request 'Development' (#323) from Development into master
Merging C2024-001 from development into master after successful testing.
2024-05-16 14:17:17 -04:00
0d50b1c2fe Merge pull request 'Development' (#321) from Development into master
Merging all items through B2024-030 from development into master after successful testing.
2024-05-15 08:33:58 -04:00
75e034863f Merge pull request 'Development' (#315) from Development into master
Merging all changes through B2024-026 from development into master after successful testing.
2024-05-09 14:01:48 -04:00
3b42de1571 Merge pull request 'F2024-059_Callaway' (#311) from F2024-059_Callaway into master
Format only changes
2024-05-07 16:00:36 -04:00
668472286e Merge pull request 'Development' (#307) from Development into master
Merging all changes through C2023-006 into master after successful testing.
2024-04-26 09:21:44 -04:00
e00d34c99d Merge pull request 'Development' (#300) from Development into master
Merging C2024-008 and C2024-007 from development into master after successful testing.
2024-04-17 14:57:22 -04:00
9fb496dfb3 Merge pull request 'Development' (#297) from Development into master
Merging F2024-053 from development into master after successful testing.
2024-04-11 09:23:34 -04:00
f4eaa4a3ef Merge pull request 'Development' (#295) from Development into master
Merging F2024-052 from development into master after successful testing.
2024-04-08 11:11:43 -04:00
5d50ed6bdf Merge pull request 'Development' (#292) from Development into master
Merging F2024-051, B2024-021, F2024-049, F2024-050 and F2024-045 after successful testing.
2024-04-05 10:54:57 -04:00
d7ace4eaf9 Merge pull request 'Development' (#287) from Development into master
Merging F2024-047, F2024-048, B2024-017 and B2024-019 from development into master after successful testing.
2024-04-04 11:36:56 -04:00
16a4d335ea Merge pull request 'Development' (#282) from Development into master
Merging all items through B2024-018 from development into master after successful testing.
2024-03-27 13:39:46 -04:00
ba69bb0772 Merge pull request 'Development' (#275) from Development into master
Merging F2024-037 and CSLA updates into master after successful testing.
2024-03-20 16:07:27 -04:00
455940caa2 Merge pull request 'Development' (#271) from Development into master
Merging F2024-040 into master after successful testing.
2024-03-18 10:00:30 -04:00
439344757e Merge pull request 'Development' (#269) from Development into master
Merging F2024-044, F2024-043, and F2024-019 in master after successful testing.
2024-03-15 09:33:57 -04:00
ad912691c9 Merge pull request 'Development' (#265) from Development into master
Merging 	F2024-016, 	F2024-032, 	B2024-013, 	F2024-025,	F2024-027 & F2024-028 into master after successful testing.
2024-03-12 14:01:12 -04:00
237144aff6 Merge pull request 'Development' (#259) from Development into master
Merging B2024-014 from development into master after successful testing.
2024-03-04 15:02:18 -05:00
810332d558 Merge pull request 'Development' (#256) from Development into master
Merging F2024-020 from development into master.  No testing required since formats are under development.
2024-02-29 13:23:48 -05:00
f8431d0ba1 Merge pull request 'Development' (#252) from Development into master
Merging F2024-022 from development into master.  No testing required since formats are under development.
2024-02-29 09:23:51 -05:00
57c3bfa16a Merge pull request 'Development' (#250) from Development into master
Merging C2023-003 and F2024-026 into master after successful testing.
2024-02-28 11:56:15 -05:00
61f1077608 Merge pull request 'Development' (#248) from Development into master
Merging F2024-029, B2024-009, F2024-023, B2024-011, B2024-012 and F2024-017 from development into master after successful testing.
2024-02-27 14:21:22 -05:00
8877e968b9 Merge pull request 'Development' (#239) from Development into master
Merging F2024-018, B2024-008, B2024-007, and F2024-015 from development into master after successful testing.
2024-02-22 08:22:26 -05:00
4575c90bee Merge pull request 'Development' (#233) from Development into master
Merging updated formats from development into master after successful testing.
2024-02-14 16:07:57 -05:00
21279a87ae Merge pull request 'Development' (#231) from Development into master
Merging B2024-006 from development into master after successful testing.
2024-02-14 08:19:09 -05:00
3d5ad4a17e Merge pull request 'Development' (#229) from Development into master
Merging C2024-002 and F2024-013 from development into master after successful testing.
2024-02-09 11:30:41 -05:00
9bb7b044a8 Merge pull request 'Development' (#226) from Development into master
Merging F2024-010, 	F2024-011, 	F2024-008, 	B2024-002, 	F2024-012  and B2024-005 from development into master after successful testing.
2024-02-08 11:38:49 -05:00
dc8f2f7561 Merge pull request 'Development' (#219) from Development into master
Merging C2022-009 into master after successful testing.
2024-02-02 13:53:22 -05:00
829dbf84da Merge pull request 'Development' (#217) from Development into master
Merging F2024-005 and B2024-004 from development into master after successful testing
2024-01-31 08:34:00 -05:00
7b156c17f8 Merge pull request 'Development' (#212) from Development into master
Merging all changes up through F2024-006 from development into master after successful testing.
2024-01-24 11:30:40 -05:00
cbf7cbc164 Merge pull request 'Development' (#198) from Development into master
Merging F2024-002 and F2023-112 from development into master.  No testing required since formats are under development.
2024-01-08 15:24:15 -05:00
b04faa816e Merge pull request 'Development' (#196) from Development into master
Merging F2023-126, F2024-001, C2022-009, C2023-024 and C2023-023 from development into Master after successful testing.
2024-01-03 10:54:22 -05:00
517ebe2902 Merge pull request 'Development' (#189) from Development into master
Initial check-in of Vogtle Background formats.  No testing required since formats are under development.
2023-12-15 15:48:55 -05:00
03d0d314e3 Merge pull request 'Development' (#187) from Development into master
Merging B2023-115 from development into master after successful testing.
2023-12-12 15:31:06 -05:00
3e804c5cce Merge pull request 'Development' (#185) from Development into master
Merging F2023-133 into from development into master. No testing required since formats are under development.
2023-12-11 10:08:22 -05:00
ee2b8b538e Merge pull request 'Development' (#183) from Development into master
Merging PROMSFixes from development into master after minor changes to UpdateFormatList.
2023-12-08 14:51:21 -05:00
fdfd34fe92 Merge pull request 'Development' (#181) from Development into master
Merging F2023-151 from development into master.  No testing required since formats are under development.
2023-12-07 15:55:16 -05:00
2d6fb6523b Merge pull request 'Development' (#179) from Development into master
Merging F2023-133 from development into master.  No testing required since formats are under development.
2023-12-07 11:44:31 -05:00
3084bf3982 Merge pull request 'Development' (#177) from Development into master
Merging B2023-115 and F2023-150 from development into master.  No testing required since formats are under development.
2023-12-06 09:08:18 -05:00
5ba51e8392 Merge pull request 'Development' (#174) from Development into master
Merging F2023-149 from development into master.  No testing required since formats are under development.
2023-12-05 16:30:39 -05:00
fb5eb43e34 Merge pull request 'Development' (#172) from Development into master
Merging F2023-124 from development into master.  No testing required since formats are under development.
2023-12-04 11:22:59 -05:00
b154056276 Merge pull request 'Development' (#170) from Development into master
Merging F2023-119 from development into master.  No testing required since formats are under development.
2023-12-01 15:36:22 -05:00
c67b8f9ca1 Merge pull request 'Development' (#168) from Development into master
Merging F2023-146 from development to master.  No testing required since formats are under development.
2023-12-01 10:02:50 -05:00
95e4181360 Merge pull request 'Development' (#166) from Development into master
Merging F2023-148, F2023-148, and B2023-120 from development into Master. No testing required since formats are under development.
2023-11-30 14:38:49 -05:00
32dffbe56b Merge pull request 'Development' (#162) from Development into master
Merging B2023-116, B2023-117, and F2023-143 from development to master after successful testing.
2023-11-29 15:58:44 -05:00
6b3c8d373b Merge pull request 'F2023-143_Vogtle3&4_Alrm_Footer' (#159) from F2023-143_Vogtle3&4_Alrm_Footer into master
Format only change.
Vogtle 3&4 formats under development. This change will be tested as data in entered into PROMS by Volian
2023-11-27 16:23:44 -05:00
db29107f47 Merge pull request 'Development' (#156) from Development into master
Merging F2023-142 and B2022-046 in from development to master after successful testing.
2023-11-14 08:45:47 -05:00
355537f2ab Merge pull request 'Development' (#153) from Development into master
Merging F2023-140, F2023-123, B2023-007, B2023-108, F2023-139, F2023-138 and B2023-103
2023-11-09 10:33:40 -05:00
0729ef0c21 Merge pull request 'Development' (#147) from Development into master
Merging F2023-139 from development into master after successful testing.
2023-10-26 10:10:33 -04:00
6fe82bfd0f Merge pull request 'Development' (#145) from Development into master
Merging F2023-138 from development into master after successful testing.
2023-10-25 14:40:15 -04:00
39bf072363 Merge pull request 'Development' (#142) from Development into master
Merging B2023-103 from development into master after successful testing.
2023-10-23 15:28:31 -04:00
da7c384fd8 Merge pull request 'Development' (#139) from Development into master
Merging C2023-017, C2023-019, B2023-104, B2023-101 and B2023-102 from development into master after successful testing.
2023-10-18 10:37:59 -04:00
95130fd9a0 Merge pull request 'Development' (#133) from Development into master
Merging C2023-018 from development into master after successful testing.
2023-10-11 09:26:45 -04:00
978e2344a3 Merge pull request 'Development' (#131) from Development into master
Merging C2023-016 and C2023-017 from development into master after successful testing.
2023-10-06 10:56:34 -04:00
c9bf45602c Merge pull request 'Development' (#128) from Development into master
Merging F2023-137 and B2023-100 from development into master. F2023-137 does not require testing since formats are under development. B2023-100 tested successfully.
2023-10-02 11:52:22 -04:00
aa160b2036 Merge pull request 'Development' (#124) from Development into master
Merging B2023-099 from development into master after successful testing.
2023-09-28 15:58:27 -04:00
f82b32d351 Merge pull request 'Development' (#122) from Development into master
Merging B2023-097 and B2023-098 from development into master after successful testing.
2023-09-26 14:58:05 -04:00
e519dc9a57 Merge pull request 'Development' (#120) from Development into master
Merging B2023-094 from development into master after successful testing.
2023-09-22 13:24:17 -04:00
f020c37db9 Merge pull request 'Development' (#118) from Development into master
Merged B2023-096 from development into master after successful testing.
2023-09-15 11:50:57 -04:00
5a4ec3b6b1 Merge pull request 'Development' (#117) from Development into master
Merging F2023-135 and B2023-093 from development into master after successful testing.
2023-09-14 15:58:52 -04:00
2602d6c9d2 Merge pull request 'Development' (#113) from Development into master
Merging C2023-015 from development into master.
2023-09-12 09:23:57 -04:00
ff403583d7 Merge pull request 'Development' (#111) from Development into master
Merging B2023-091 and B2023-078 from development into master.
2023-08-30 16:07:17 -04:00
c5577cc2bd Merge pull request 'Development' (#108) from Development into master
Merging F2023-134 from development into master.  No testing required since formats are under development.
2023-08-24 15:01:12 -04:00
78be6e5dc1 Merge pull request 'Development' (#106) from Development into master
Merging GitAutomation from Development into Master.
2023-08-24 09:13:06 -04:00
b954a41375 Merge pull request 'Development' (#104) from Development into master
Merging B2023-089 and F2023-131 from Development into Master.  No testing required since formats are under development.
2023-08-24 09:05:31 -04:00
0100a11cfe Merge pull request 'Development' (#101) from Development into master
Merging F2023-125 from development into master.  No testing required since formats are under development.
2023-08-23 08:19:00 -04:00
04cf2e8534 Merge pull request 'Development' (#99) from Development into master
Merging F2023-130 from Development into Master. No testing required since formats are under development.
2023-08-22 15:04:22 -04:00
be00724818 Merge pull request 'Development' (#97) from Development into master
Merging B2023-088 from development into master.  No testing required since formats are under development.
2023-08-22 10:52:09 -04:00
274d93c61a Merge pull request 'Development' (#94) from Development into master
Merging F2023-122 from development into master.  No testing required since formats are under development.
2023-08-22 08:53:57 -04:00
7dc4c30436 Merge pull request 'Development' (#92) from Development into master
Merging F2023-127 from development into master.  No testing required since formats are under development.
2023-08-22 08:33:56 -04:00
028ef4bc31 Merge pull request 'Development' (#89) from Development into master
Merging F2023-128 and F2023-129 from development into master.  No testing required since formats are under development.
2023-08-21 11:46:01 -04:00
42124d65c7 Merge pull request 'Development' (#87) from Development into master
Merging F2023-118,  F2023-120 and F2023-121 from development into master.  No testing required since formats are under development.
2023-08-16 10:13:52 -04:00
24 changed files with 796 additions and 1090 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1099,9 +1099,7 @@ namespace VEPROMS
(int)changeBarData.FixedChangeColumn : (int)changeBarData.FixedChangeColumn :
System.Convert.ToInt32(changeBarData.DefaultCBLoc.Split(" ,".ToCharArray())[System.Convert.ToInt32(cbd.MyChangeBarLoc)]); System.Convert.ToInt32(changeBarData.DefaultCBLoc.Split(" ,".ToCharArray())[System.Convert.ToInt32(cbd.MyChangeBarLoc)]);
//cbd.MyChangeBarColumn = (int)changeBarData.FixedChangeColumn; //cbd.MyChangeBarColumn = (int)changeBarData.FixedChangeColumn;
if (cbd.MyChangeBarText == PrintChangeBarText.UserDef && !string.IsNullOrEmpty(ppTxbxChangeBarUserMsgOne.Text)) if (cbd.MyChangeBarText == PrintChangeBarText.UserDef)
cbd.MyChangeBarMessage = ppTxbxChangeBarUserMsgOne.Text + @"\n" + ppTxbxChangeBarUserMsgTwo.Text;
else if (cbd.MyChangeBarText == PrintChangeBarText.UserDef)
cbd.MyChangeBarMessage = _DocVersionConfig.Print_UserCBMess1 + @"\n" + _DocVersionConfig.Print_UserCBMess2; cbd.MyChangeBarMessage = _DocVersionConfig.Print_UserCBMess1 + @"\n" + _DocVersionConfig.Print_UserCBMess2;
} }

View File

@@ -30,7 +30,10 @@ namespace VEPROMS
{ {
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.tpManageFolders = new System.Windows.Forms.TabPage(); this.tpGroupUsers = new System.Windows.Forms.TabPage();
this.pnlMembers = new System.Windows.Forms.Panel();
this.lstMembers = new System.Windows.Forms.ListBox();
this.lblMembers = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label();
this.tvFolders = new System.Windows.Forms.TreeView(); this.tvFolders = new System.Windows.Forms.TreeView();
this.cmFolders = new System.Windows.Forms.ContextMenuStrip(this.components); this.cmFolders = new System.Windows.Forms.ContextMenuStrip(this.components);
@@ -38,23 +41,10 @@ namespace VEPROMS
this.createWriterGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.createWriterGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.createROEToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.createROEToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.createReviewerGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.createReviewerGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tpManageGroups = new System.Windows.Forms.TabPage();
this.btnAddMember = new System.Windows.Forms.Button();
this.btnRemoveMember = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.lbNonMembers = new System.Windows.Forms.Label();
this.btnDeleteGroup = new System.Windows.Forms.Button();
this.cbGroupSelection = new System.Windows.Forms.ComboBox();
this.lstNonMembers = new System.Windows.Forms.ListBox();
this.pnlMembers = new System.Windows.Forms.Panel();
this.lstMembers = new System.Windows.Forms.ListBox();
this.lblMembers = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.tpManageUsers = new System.Windows.Forms.TabPage();
this.lblUserGroups = new System.Windows.Forms.Label();
this.lstGroups = new System.Windows.Forms.ListBox();
this.lstUsers = new System.Windows.Forms.ListBox(); this.lstUsers = new System.Windows.Forms.ListBox();
this.lblUsers = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.lstGroups = new System.Windows.Forms.ListBox();
this.tpDefault = new System.Windows.Forms.TabPage(); this.tpDefault = new System.Windows.Forms.TabPage();
this.label8 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label();
this.pnlGroups = new System.Windows.Forms.Panel(); this.pnlGroups = new System.Windows.Forms.Panel();
@@ -64,22 +54,23 @@ namespace VEPROMS
this.addUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.addUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.editUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.editUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.deleteUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.deleteUserToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tt = new System.Windows.Forms.ToolTip(this.components); this.addMemberToolStripMenuItemUser = new System.Windows.Forms.ToolStripMenuItem();
this.cmGroups = new System.Windows.Forms.ContextMenuStrip(this.components);
this.deleteGroupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addMemberToolStripMenuItemGroup = new System.Windows.Forms.ToolStripMenuItem();
this.tcSecurity.SuspendLayout(); this.tcSecurity.SuspendLayout();
this.tpManageFolders.SuspendLayout(); this.tpGroupUsers.SuspendLayout();
this.cmFolders.SuspendLayout();
this.tpManageGroups.SuspendLayout();
this.pnlMembers.SuspendLayout(); this.pnlMembers.SuspendLayout();
this.tpManageUsers.SuspendLayout(); this.cmFolders.SuspendLayout();
this.tpDefault.SuspendLayout(); this.tpDefault.SuspendLayout();
this.cmMembers.SuspendLayout();
this.cmUsers.SuspendLayout(); this.cmUsers.SuspendLayout();
this.cmGroups.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// tcSecurity // tcSecurity
// //
this.tcSecurity.Controls.Add(this.tpManageFolders); this.tcSecurity.Controls.Add(this.tpGroupUsers);
this.tcSecurity.Controls.Add(this.tpManageGroups);
this.tcSecurity.Controls.Add(this.tpManageUsers);
this.tcSecurity.Controls.Add(this.tpDefault); this.tcSecurity.Controls.Add(this.tpDefault);
this.tcSecurity.Dock = System.Windows.Forms.DockStyle.Fill; this.tcSecurity.Dock = System.Windows.Forms.DockStyle.Fill;
this.tcSecurity.Location = new System.Drawing.Point(0, 0); this.tcSecurity.Location = new System.Drawing.Point(0, 0);
@@ -87,38 +78,69 @@ namespace VEPROMS
this.tcSecurity.SelectedIndex = 0; this.tcSecurity.SelectedIndex = 0;
this.tcSecurity.Size = new System.Drawing.Size(784, 564); this.tcSecurity.Size = new System.Drawing.Size(784, 564);
this.tcSecurity.TabIndex = 0; this.tcSecurity.TabIndex = 0;
this.tcSecurity.SelectedIndexChanged += new System.EventHandler(this.changedTab);
// //
// tpManageFolders // tpGroupUsers
// //
this.tpManageFolders.BackColor = System.Drawing.SystemColors.ButtonFace; this.tpGroupUsers.BackColor = System.Drawing.SystemColors.ButtonFace;
this.tpManageFolders.Controls.Add(this.label6); this.tpGroupUsers.Controls.Add(this.pnlMembers);
this.tpManageFolders.Controls.Add(this.tvFolders); this.tpGroupUsers.Controls.Add(this.label6);
this.tpManageFolders.Location = new System.Drawing.Point(4, 22); this.tpGroupUsers.Controls.Add(this.tvFolders);
this.tpManageFolders.Name = "tpManageFolders"; this.tpGroupUsers.Controls.Add(this.lstUsers);
this.tpManageFolders.Padding = new System.Windows.Forms.Padding(3); this.tpGroupUsers.Controls.Add(this.label5);
this.tpManageFolders.Size = new System.Drawing.Size(776, 538); this.tpGroupUsers.Controls.Add(this.label3);
this.tpManageFolders.TabIndex = 2; this.tpGroupUsers.Controls.Add(this.lstGroups);
this.tpManageFolders.Text = "Manage Folders / Add Groups"; this.tpGroupUsers.Location = new System.Drawing.Point(4, 22);
this.tpGroupUsers.Name = "tpGroupUsers";
this.tpGroupUsers.Padding = new System.Windows.Forms.Padding(3);
this.tpGroupUsers.Size = new System.Drawing.Size(776, 538);
this.tpGroupUsers.TabIndex = 2;
this.tpGroupUsers.Text = "Folders, Groups and Users";
//
// pnlMembers
//
this.pnlMembers.Controls.Add(this.lstMembers);
this.pnlMembers.Controls.Add(this.lblMembers);
this.pnlMembers.Location = new System.Drawing.Point(384, 304);
this.pnlMembers.Name = "pnlMembers";
this.pnlMembers.Size = new System.Drawing.Size(386, 232);
this.pnlMembers.TabIndex = 12;
//
// 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.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
this.lstMembers.Size = new System.Drawing.Size(386, 212);
this.lstMembers.TabIndex = 10;
this.lstMembers.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstMembers_MouseUp);
//
// lblMembers
//
this.lblMembers.Dock = System.Windows.Forms.DockStyle.Top;
this.lblMembers.Location = new System.Drawing.Point(0, 0);
this.lblMembers.Name = "lblMembers";
this.lblMembers.Size = new System.Drawing.Size(386, 19);
this.lblMembers.TabIndex = 2;
this.lblMembers.Text = "Members";
// //
// label6 // label6
// //
this.label6.AutoSize = true; 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)));
this.label6.Location = new System.Drawing.Point(8, 5); this.label6.Location = new System.Drawing.Point(8, 5);
this.label6.Name = "label6"; this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(55, 15); this.label6.Size = new System.Drawing.Size(41, 13);
this.label6.TabIndex = 7; this.label6.TabIndex = 7;
this.label6.Text = "Folders"; this.label6.Text = "Folders";
// //
// tvFolders // tvFolders
// //
this.tvFolders.ContextMenuStrip = this.cmFolders; this.tvFolders.ContextMenuStrip = this.cmFolders;
this.tvFolders.Dock = System.Windows.Forms.DockStyle.Bottom;
this.tvFolders.HideSelection = false; this.tvFolders.HideSelection = false;
this.tvFolders.Location = new System.Drawing.Point(3, 32); this.tvFolders.Location = new System.Drawing.Point(8, 21);
this.tvFolders.Name = "tvFolders"; this.tvFolders.Name = "tvFolders";
this.tvFolders.Size = new System.Drawing.Size(770, 503); this.tvFolders.Size = new System.Drawing.Size(370, 511);
this.tvFolders.TabIndex = 6; this.tvFolders.TabIndex = 6;
this.tvFolders.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.tvFolders_NodeMouseClick); this.tvFolders.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.tvFolders_NodeMouseClick);
// //
@@ -160,189 +182,49 @@ namespace VEPROMS
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);
// //
// tpManageGroups // lstUsers
// //
this.tpManageGroups.Controls.Add(this.btnAddMember); this.lstUsers.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.tpManageGroups.Controls.Add(this.btnRemoveMember); | System.Windows.Forms.AnchorStyles.Left)));
this.tpManageGroups.Controls.Add(this.label1); this.lstUsers.FormattingEnabled = true;
this.tpManageGroups.Controls.Add(this.lbNonMembers); this.lstUsers.Location = new System.Drawing.Point(630, 21);
this.tpManageGroups.Controls.Add(this.btnDeleteGroup); this.lstUsers.Name = "lstUsers";
this.tpManageGroups.Controls.Add(this.cbGroupSelection); this.lstUsers.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
this.tpManageGroups.Controls.Add(this.lstNonMembers); this.lstUsers.Size = new System.Drawing.Size(140, 277);
this.tpManageGroups.Controls.Add(this.pnlMembers); this.lstUsers.TabIndex = 5;
this.tpManageGroups.Controls.Add(this.label3); this.lstUsers.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstUsers_MouseUp);
this.tpManageGroups.Location = new System.Drawing.Point(4, 22); this.lstUsers.SelectedIndexChanged += new System.EventHandler(this.lstUsers_SelectedIndexChanged);
this.tpManageGroups.Name = "tpManageGroups";
this.tpManageGroups.Padding = new System.Windows.Forms.Padding(3);
this.tpManageGroups.Size = new System.Drawing.Size(776, 538);
this.tpManageGroups.TabIndex = 3;
this.tpManageGroups.Text = "Manage Groups";
this.tpManageGroups.UseVisualStyleBackColor = true;
// //
// btnAddMember // label5
// //
this.btnAddMember.Location = new System.Drawing.Point(337, 190); this.label5.AutoSize = true;
this.btnAddMember.Name = "btnAddMember"; this.label5.Location = new System.Drawing.Point(630, 6);
this.btnAddMember.Size = new System.Drawing.Size(36, 29); this.label5.Name = "label5";
this.btnAddMember.TabIndex = 19; this.label5.Size = new System.Drawing.Size(34, 13);
this.btnAddMember.Text = "<<"; this.label5.TabIndex = 4;
this.tt.SetToolTip(this.btnAddMember, "Add User as Members of Group"); this.label5.Text = "Users";
this.btnAddMember.UseVisualStyleBackColor = true;
this.btnAddMember.Click += new System.EventHandler(this.addMember_Click);
//
// btnRemoveMember
//
this.btnRemoveMember.Location = new System.Drawing.Point(337, 254);
this.btnRemoveMember.Name = "btnRemoveMember";
this.btnRemoveMember.Size = new System.Drawing.Size(36, 29);
this.btnRemoveMember.TabIndex = 18;
this.btnRemoveMember.Text = ">>";
this.tt.SetToolTip(this.btnRemoveMember, "Remove User From Group");
this.btnRemoveMember.UseVisualStyleBackColor = true;
this.btnRemoveMember.Click += new System.EventHandler(this.removeMember_Click);
//
// label1
//
this.label1.AutoSize = true;
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.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(97, 15);
this.label1.TabIndex = 17;
this.label1.Text = "Non Members";
//
// lbNonMembers
//
this.lbNonMembers.AutoSize = true;
this.lbNonMembers.Location = new System.Drawing.Point(386, 42);
this.lbNonMembers.Name = "lbNonMembers";
this.lbNonMembers.Size = new System.Drawing.Size(73, 13);
this.lbNonMembers.TabIndex = 17;
this.lbNonMembers.Text = "Non Members";
//
// btnDeleteGroup
//
this.btnDeleteGroup.ForeColor = System.Drawing.Color.Red;
this.btnDeleteGroup.Location = new System.Drawing.Point(668, 12);
this.btnDeleteGroup.Name = "btnDeleteGroup";
this.btnDeleteGroup.Size = new System.Drawing.Size(89, 23);
this.btnDeleteGroup.TabIndex = 16;
this.btnDeleteGroup.Text = "Delete Group";
this.btnDeleteGroup.UseVisualStyleBackColor = true;
this.btnDeleteGroup.Click += new System.EventHandler(this.deleteGroup_Click);
//
// cbGroupSelection
//
this.cbGroupSelection.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbGroupSelection.FormattingEnabled = true;
this.cbGroupSelection.Location = new System.Drawing.Point(50, 9);
this.cbGroupSelection.Name = "cbGroupSelection";
this.cbGroupSelection.Size = new System.Drawing.Size(272, 21);
this.cbGroupSelection.TabIndex = 15;
this.cbGroupSelection.SelectedIndexChanged += new System.EventHandler(this.cbGroupSelection_SelectedIndexChanged);
//
// lstNonMembers
//
this.lstNonMembers.FormattingEnabled = true;
this.lstNonMembers.Location = new System.Drawing.Point(389, 61);
this.lstNonMembers.Name = "lstNonMembers";
this.lstNonMembers.Size = new System.Drawing.Size(316, 472);
this.lstNonMembers.TabIndex = 14;
//
// 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 // label3
// //
this.label3.AutoSize = true; this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(3, 12); this.label3.Location = new System.Drawing.Point(381, 6);
this.label3.Name = "label3"; this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(39, 13); this.label3.Size = new System.Drawing.Size(41, 13);
this.label3.TabIndex = 3; this.label3.TabIndex = 1;
this.label3.Text = "Group:"; this.label3.Text = "Groups";
//
// 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 // lstGroups
// //
this.lstGroups.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.lstGroups.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left))); | System.Windows.Forms.AnchorStyles.Left)));
this.lstGroups.FormattingEnabled = true; this.lstGroups.FormattingEnabled = true;
this.lstGroups.Location = new System.Drawing.Point(271, 36); this.lstGroups.Location = new System.Drawing.Point(384, 21);
this.lstGroups.Name = "lstGroups"; this.lstGroups.Name = "lstGroups";
this.lstGroups.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended; this.lstGroups.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
this.lstGroups.Size = new System.Drawing.Size(502, 498); this.lstGroups.Size = new System.Drawing.Size(240, 277);
this.lstGroups.TabIndex = 8; this.lstGroups.TabIndex = 0;
this.lstGroups.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstGroups_MouseUp); this.lstGroups.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lstGroups_MouseUp);
// this.lstGroups.SelectedIndexChanged += new System.EventHandler(this.lstGroups_SelectedIndexChanged);
// 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 // tpDefault
// //
@@ -374,8 +256,10 @@ namespace VEPROMS
// //
// cmMembers // cmMembers
// //
this.cmMembers.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.removeMemberToolStripMenuItem});
this.cmMembers.Name = "cmGroupMembers"; this.cmMembers.Name = "cmGroupMembers";
this.cmMembers.Size = new System.Drawing.Size(61, 4); this.cmMembers.Size = new System.Drawing.Size(166, 26);
// //
// removeMemberToolStripMenuItem // removeMemberToolStripMenuItem
// //
@@ -389,31 +273,61 @@ namespace VEPROMS
this.cmUsers.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { 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);
// //
// addMemberToolStripMenuItemUser
//
this.addMemberToolStripMenuItemUser.Name = "addMemberToolStripMenuItemUser";
this.addMemberToolStripMenuItemUser.Size = new System.Drawing.Size(152, 22);
this.addMemberToolStripMenuItemUser.Text = "Add Member";
this.addMemberToolStripMenuItemUser.Click += new System.EventHandler(this.addMemberToolStripMenuItem_Click);
//
// cmGroups
//
this.cmGroups.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.deleteGroupToolStripMenuItem,
this.addMemberToolStripMenuItemGroup});
this.cmGroups.Name = "cmGroups";
this.cmGroups.Size = new System.Drawing.Size(145, 48);
//
// deleteGroupToolStripMenuItem
//
this.deleteGroupToolStripMenuItem.Name = "deleteGroupToolStripMenuItem";
this.deleteGroupToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
this.deleteGroupToolStripMenuItem.Text = "Delete Group";
this.deleteGroupToolStripMenuItem.Click += new System.EventHandler(this.deleteGroupToolStripMenuItem_Click);
//
// addMemberToolStripMenuItemGroup
//
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 // dlgManageSecurity
// //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -427,16 +341,14 @@ namespace VEPROMS
this.Text = "Manage Security"; this.Text = "Manage Security";
this.Load += new System.EventHandler(this.dlgManageSecurity_Load); this.Load += new System.EventHandler(this.dlgManageSecurity_Load);
this.tcSecurity.ResumeLayout(false); this.tcSecurity.ResumeLayout(false);
this.tpManageFolders.ResumeLayout(false); this.tpGroupUsers.ResumeLayout(false);
this.tpManageFolders.PerformLayout(); this.tpGroupUsers.PerformLayout();
this.cmFolders.ResumeLayout(false);
this.tpManageGroups.ResumeLayout(false);
this.tpManageGroups.PerformLayout();
this.pnlMembers.ResumeLayout(false); this.pnlMembers.ResumeLayout(false);
this.tpManageUsers.ResumeLayout(false); this.cmFolders.ResumeLayout(false);
this.tpManageUsers.PerformLayout();
this.tpDefault.ResumeLayout(false); this.tpDefault.ResumeLayout(false);
this.cmMembers.ResumeLayout(false);
this.cmUsers.ResumeLayout(false); this.cmUsers.ResumeLayout(false);
this.cmGroups.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@@ -445,7 +357,13 @@ 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 tpManageFolders; private System.Windows.Forms.TabPage tpGroupUsers;
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;
@@ -461,23 +379,10 @@ 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.TabPage tpManageGroups; private System.Windows.Forms.ToolStripMenuItem deleteGroupToolStripMenuItem;
private System.Windows.Forms.TabPage tpManageUsers;
private System.Windows.Forms.Panel pnlMembers; private System.Windows.Forms.Panel pnlMembers;
private System.Windows.Forms.ListBox lstMembers; private System.Windows.Forms.ListBox lstMembers;
private System.Windows.Forms.Label lblMembers; private System.Windows.Forms.ToolStripMenuItem addMemberToolStripMenuItemUser;
private System.Windows.Forms.ListBox lstUsers; private System.Windows.Forms.ToolStripMenuItem addMemberToolStripMenuItemGroup;
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,492 +7,30 @@ 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();
//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(); 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;
//shouldn<64>t be bringing up a menu in the Group box unless a user is 1st selected in the Users box.
if (e.Button == MouseButtons.Right && lstUsers.SelectedIndex > -1)
{
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)
@@ -518,7 +56,6 @@ 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;
@@ -527,7 +64,446 @@ namespace VEPROMS
myFolder.FolderConfig.Security_Group = gi.GID; myFolder.FolderConfig.Security_Group = gi.GID;
myFolder.Save(); myFolder.Save();
} }
#endregion private void SetupSecurity()
{
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,27 +112,21 @@
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="cmFolders.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="cmFolders.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.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=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="cmMembers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.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=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="cmUsers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.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

@@ -554,23 +554,10 @@ namespace VEPROMS
tv.CreateContinuousActionSummary += new vlnTreeViewEvent(tv_CreateContinuousActionSummary); tv.CreateContinuousActionSummary += new vlnTreeViewEvent(tv_CreateContinuousActionSummary);
tv.SelectDateToStartChangeBars += tv_SelectDateToStartChangeBars; tv.SelectDateToStartChangeBars += tv_SelectDateToStartChangeBars;
tv.CreateTimeCriticalActionSummary += new vlnTreeViewEvent(tv_CreateTimeCriticalActionSummary); tv.CreateTimeCriticalActionSummary += new vlnTreeViewEvent(tv_CreateTimeCriticalActionSummary);
tv.RefreshFormats += new vlnTreeViewStatusEvent(RefreshFormats);
displayBookMarks.ResetBookMarksInPROMSWindows += displayBookMarks_ResetBookMarksInPROMSWindows; displayBookMarks.ResetBookMarksInPROMSWindows += displayBookMarks_ResetBookMarksInPROMSWindows;
} }
//C2021-035 Add Refresh Tree Option at highest level
void RefreshFormats(object sender, vlnTreeStatusEventArgs args)
{
Format.ClearFormatCache();
FormatInfo.ClearFormatInfoCache();
FormatInfo.Reset();
FormatInfoList.Reset();
Format.Reset();
FormatList.Reset();
displaySearch1.SetupContextMenu();
}
// Part of Separate Windows upgrade C2015-022 // Part of Separate Windows upgrade C2015-022
// Extend Changes to BookMark information to all of the child windows // Extend Changes to BookMark information to all of the child windows
void displayBookMarks_ResetBookMarksInPROMSWindows(object sender, EventArgs args) void displayBookMarks_ResetBookMarksInPROMSWindows(object sender, EventArgs args)

View File

@@ -765,19 +765,6 @@ namespace VEPROMS.CSLA.Library
foreach (DocVersionInfo dvi in _CacheByPrimaryKey[key]) foreach (DocVersionInfo dvi in _CacheByPrimaryKey[key])
dvi.ResetProcedures(); dvi.ResetProcedures();
} }
//C2021-035 Add Refresh Tree Option at highest level
public static void ResetAllProcedures()
{
foreach (string key in _CacheByPrimaryKey.Keys)
{
foreach (DocVersionInfo dvi in _CacheByPrimaryKey[key])
dvi.ResetProcedures();
}
foreach (DocVersionInfo dvi in _CacheList)
dvi.ResetProcedures();
}
#region IVEReadOnlyItem #region IVEReadOnlyItem
public System.Collections.IList GetChildren() public System.Collections.IList GetChildren()
{ {

View File

@@ -275,14 +275,6 @@ namespace VEPROMS.CSLA.Library
} }
} }
//C2021-035 Add Refresh Tree Option at highest level
public static void Reset()
{
_LookupFormats?.Clear();
_LookupFormats = null;
_ = LookupFormats;
}
private static Format AddFormatToDB(Format parent, string format, bool issub, DateTime Dts, string Userid, string fmtPath, string genmacPath) private static Format AddFormatToDB(Format parent, string format, bool issub, DateTime Dts, string Userid, string fmtPath, string genmacPath)
{ {
string fmtdata = null; string fmtdata = null;
@@ -517,11 +509,6 @@ public partial class FormatInfo : IFormatOrFormatInfo
return _PROMSBaseFormat; return _PROMSBaseFormat;
} }
} }
public static void Reset()
{
_PROMSBaseFormat = null;
}
public static FormatInfo Get(string name) public static FormatInfo Get(string name)
{ {
try try

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 != "N") && srcCfg.MyEnhancedDocuments != null && srcCfg.MyEnhancedDocuments.Count > 0) if (srcCfg != null && (srcCfg.Section_LnkEnh=="Y" || srcCfg.Section_LnkEnh=="T") && 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 != "T") EnhancedSetStepLinks(sourceSect, enhProc.Type); //if steps, do them for this type if (srcCfg.Section_LnkEnh == "Y") EnhancedSetStepLinks(sourceSect, enhProc.Type); //if steps, do them for this type
pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedCurrentSection); pastedEnhancedCurrentSection = GetNextEnhancedSection(pastedEnhancedCurrentSection);
} }
} }

View File

@@ -97,12 +97,6 @@ namespace VEPROMS.CSLA.Library
if (formatInfo != null && formatInfo.ToString() == formatName) return formatInfo.Get(); if (formatInfo != null && formatInfo.ToString() == formatName) return formatInfo.Get();
return null; return null;
} }
//C2021-035 Add Refresh Tree Option at highest level
public static void Reset()
{
_MyFormatInfoList?.Clear();
_MyFormatInfoList = null;
}
} }
public class DocStyleListConverter : System.ComponentModel.StringConverter public class DocStyleListConverter : System.ComponentModel.StringConverter
{ {

View File

@@ -1145,10 +1145,6 @@ namespace VEPROMS.CSLA.Library
{ {
//string thisTab = StepInfo.Get(pitem.ItemID).MyTab.CleanText; //string thisTab = StepInfo.Get(pitem.ItemID).MyTab.CleanText;
string thisTab = pitem.MyTab.CleanText;// StepInfo.Get(pitem.ItemID).MyTab.CleanText; string thisTab = pitem.MyTab.CleanText;// StepInfo.Get(pitem.ItemID).MyTab.CleanText;
//B2025-058 remove continuous action indicator
string medittag = pitem.FormatStepData.TabData.MacroEditTag;
if (medittag != null && thisTab.StartsWith(medittag))
thisTab = thisTab.Substring(medittag.Length);
// remove delimiters of '.' and ')' in tab. // remove delimiters of '.' and ')' in tab.
if (!hasDelim) if (!hasDelim)
{ {

View File

@@ -502,15 +502,6 @@ namespace VEPROMS.CSLA.Library
_FolderInfoExtension.Refresh(this); _FolderInfoExtension.Refresh(this);
OnChange();// raise an event OnChange();// raise an event
} }
//C2021-035 Add Refresh Tree Option at highest level
public static void ClearFolderInfoCache()
{
_CacheByPrimaryKey.Clear();
while (_CacheList.Count > 0)
{ _CacheList[0].Dispose(); }
}
public static FolderInfo Get(int folderID) public static FolderInfo Get(int folderID)
{ {
//if (!CanGetObject()) //if (!CanGetObject())

View File

@@ -143,14 +143,6 @@ namespace VEPROMS.CSLA.Library
if (_CacheByParentID_Name.ContainsKey(key)) return _CacheByParentID_Name[key][0]; if (_CacheByParentID_Name.ContainsKey(key)) return _CacheByParentID_Name[key][0];
return null; return null;
} }
//C2021-035 Add Refresh Tree Option at highest level
public static void ClearFormatCache()
{
_CacheByPrimaryKey.Clear();
while (_CacheList.Count > 0)
{ _CacheList[0].Dispose(); }
}
#endregion #endregion
#region Business Methods #region Business Methods
private string _ErrorMessage = string.Empty; private string _ErrorMessage = string.Empty;

View File

@@ -71,13 +71,6 @@ namespace VEPROMS.CSLA.Library
if (_CacheByPrimaryKey.ContainsKey(key)) return _CacheByPrimaryKey[key][0]; if (_CacheByPrimaryKey.ContainsKey(key)) return _CacheByPrimaryKey[key][0];
return null; return null;
} }
//C2021-035 Add Refresh Tree Option at highest level
public static void ClearFormatInfoCache()
{
_CacheByPrimaryKey.Clear();
while (_CacheList.Count > 0)
{ _CacheList[0].Dispose(); }
}
#endregion #endregion
#region Business Methods #region Business Methods
private string _ErrorMessage = string.Empty; private string _ErrorMessage = string.Empty;

View File

@@ -119,15 +119,6 @@ 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
{ {
@@ -148,15 +139,6 @@ 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

@@ -188,6 +188,7 @@ namespace Volian.Controls.Library
this.tabSearchTypes.Controls.Add(this.tabControlPanel5); this.tabSearchTypes.Controls.Add(this.tabControlPanel5);
this.tabSearchTypes.Controls.Add(this.tabControlPanel2); this.tabSearchTypes.Controls.Add(this.tabControlPanel2);
this.tabSearchTypes.Controls.Add(this.tabControlPanel3); this.tabSearchTypes.Controls.Add(this.tabControlPanel3);
this.tabSearchTypes.Controls.Add(this.tabControlPanel1);
this.tabSearchTypes.Controls.Add(this.contextMenuBar1); this.tabSearchTypes.Controls.Add(this.contextMenuBar1);
this.tabSearchTypes.Dock = System.Windows.Forms.DockStyle.Top; this.tabSearchTypes.Dock = System.Windows.Forms.DockStyle.Top;
this.tabSearchTypes.Location = new System.Drawing.Point(0, 0); this.tabSearchTypes.Location = new System.Drawing.Point(0, 0);
@@ -982,6 +983,7 @@ namespace Volian.Controls.Library
this.tabControlPanel1.Controls.Add(this.lblSrchIncTran); this.tabControlPanel1.Controls.Add(this.lblSrchIncTran);
this.tabControlPanel1.Controls.Add(this.groupBox1); this.tabControlPanel1.Controls.Add(this.groupBox1);
this.tabControlPanel1.DisabledBackColor = System.Drawing.Color.Empty; this.tabControlPanel1.DisabledBackColor = System.Drawing.Color.Empty;
this.tabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControlPanel1.Location = new System.Drawing.Point(0, 34); this.tabControlPanel1.Location = new System.Drawing.Point(0, 34);
this.tabControlPanel1.Name = "tabControlPanel1"; this.tabControlPanel1.Name = "tabControlPanel1";
this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1); this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1);
@@ -995,8 +997,6 @@ namespace Volian.Controls.Library
this.tabControlPanel1.Style.GradientAngle = 90; this.tabControlPanel1.Style.GradientAngle = 90;
this.tabControlPanel1.TabIndex = 17; this.tabControlPanel1.TabIndex = 17;
this.tabControlPanel1.TabItem = this.tabIncTrans; this.tabControlPanel1.TabItem = this.tabIncTrans;
this.tabControlPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(( System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.tabControlPanel1.RightToLeft = System.Windows.Forms.RightToLeft.No;
// //
// btnTranCvtSelToTxt // btnTranCvtSelToTxt
// //
@@ -1732,12 +1732,6 @@ namespace Volian.Controls.Library
this.Controls.Add(this.xpStepTypes); this.Controls.Add(this.xpStepTypes);
this.Controls.Add(this.xpSetToSearch); this.Controls.Add(this.xpSetToSearch);
this.Controls.Add(this.tabSearchTypes); this.Controls.Add(this.tabSearchTypes);
this.Controls.Add(this.tabControlPanel1);
//B2025-056 Click on Incoming Transitions
// This needs to be part of overall control
// since if it is part of tabSearchTypes,
// then when that is disabled, buttons on
// this will be also
this.Margin = new System.Windows.Forms.Padding(2); this.Margin = new System.Windows.Forms.Padding(2);
this.Name = "DisplaySearch"; this.Name = "DisplaySearch";
this.RightToLeft = System.Windows.Forms.RightToLeft.Yes; this.RightToLeft = System.Windows.Forms.RightToLeft.Yes;

View File

@@ -1857,15 +1857,14 @@ namespace Volian.Controls.Library
lbSrchResultsIncTrans.Enabled = false; lbSrchResultsIncTrans.Enabled = false;
lbSrchResultsIncTrans.UseWaitCursor = true; lbSrchResultsIncTrans.UseWaitCursor = true;
} }
//B2025-056 Click on Incoming Transitions ListBox mylb = sender as ListBox;
// Clicking on Incoming Transitions
// will now open that item
ListBox mylb_lbSrchResults = sender as ListBox;
ListBoxAdv mylb_lbSrchResultsIncTrans = sender as ListBoxAdv;
// If the list is being refreshed, then set the selection index to -1 (no selection) // If the list is being refreshed, then set the selection index to -1 (no selection)
// B2022-044: don't set selection to top of list (commented out/changed if) // B2022-044: don't set selection to top of list (commented out/changed if)
if ((mylb_lbSrchResults != null || mylb_lbSrchResultsIncTrans != null) && !_SearchResults.RefreshingList) //if (mylb != null && _SearchResults.RefreshingList && mylb.SelectedIndex != -1)
// //mylb.SelectedIndex = -1;
//else
if (mylb != null && !_SearchResults.RefreshingList)
{ {
_ItemInfo = (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[4]) ? lbSrchResultsIncTrans.SelectedValue as ItemInfo : lbSrchResults.SelectedValue as ItemInfo; _ItemInfo = (tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[4]) ? lbSrchResultsIncTrans.SelectedValue as ItemInfo : lbSrchResults.SelectedValue as ItemInfo;
if ((tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[1]) && (_ItemInfo != null)) if ((tabSearchTypes.SelectedTab == tabSearchTypes.Tabs[1]) && (_ItemInfo != null))

View File

@@ -4190,19 +4190,15 @@ namespace Volian.Controls.Library
if (oring == eEventSource.Keyboard) if (oring == eEventSource.Keyboard)
_OringFlg = 1; _OringFlg = 1;
int selectedSlave = MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave;
if (MyItemInfo == null) return; // if creating a pdf before rtb exists, return; if (MyItemInfo == null) return; // if creating a pdf before rtb exists, return;
if (MyEditItem != null) MyEditItem.SaveCurrentAndContents(); if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave = selectedSlave;
OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 0); OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 0);
} }
private void btnPdfQuickCreate_Click(object sender, EventArgs e) private void btnPdfQuickCreate_Click(object sender, EventArgs e)
{ {
int selectedSlave = MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave;
if (MyItemInfo == null) return; // if creating a pdf before rtb exists, return; if (MyItemInfo == null) return; // if creating a pdf before rtb exists, return;
if (MyEditItem != null) MyEditItem.SaveCurrentAndContents(); if (MyEditItem != null) MyEditItem.SaveCurrentAndContents();
MyItemInfo.MyProcedure.ProcedureConfig.SelectedSlave = selectedSlave;
OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 1); OnPrintRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure, _OringFlg), 1);
} }

View File

@@ -1,16 +0,0 @@
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,9 +384,6 @@
<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>

View File

@@ -1269,11 +1269,6 @@ namespace Volian.Controls.Library
if (ok) if (ok)
if (pia == null && tn.VEObject as StepInfo == null) cm.MenuItems.Add("Properties...", new EventHandler(mi_Click)); if (pia == null && tn.VEObject as StepInfo == null) cm.MenuItems.Add("Properties...", new EventHandler(mi_Click));
#endregion #endregion
#region Refresh_Tree
//C2021-035 Add Refresh Tree Option at highest level
if (tn == (VETreeNode)Nodes[0])
cm.MenuItems.Add("Refresh Tree", new EventHandler(mi_Click));
#endregion
//_MyLog.WarnFormat("Context Menu 7 - {0}", GC.GetTotalMemory(true)); //_MyLog.WarnFormat("Context Menu 7 - {0}", GC.GetTotalMemory(true));
if (fi != null && fi.HasWorkingDraft) if (fi != null && fi.HasWorkingDraft)
@@ -2357,10 +2352,6 @@ namespace Volian.Controls.Library
case "Print All Approved Procedures": //C2025-017 print all approved procedures case "Print All Approved Procedures": //C2025-017 print all approved procedures
OnPrintAllApprovedProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnPrintAllApprovedProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break; break;
//C2021-035 Add Refresh Tree Option at highest level
case "Refresh Tree":
RefreshTree();
break;
default: default:
if (mi.Text.StartsWith("Showing Change Bars Starting")) if (mi.Text.StartsWith("Showing Change Bars Starting"))
OnSelectDateToStartChangeBars(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnSelectDateToStartChangeBars(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
@@ -3935,13 +3926,6 @@ namespace Volian.Controls.Library
if (Processing != null) if (Processing != null)
Processing(this, new vlnTreeStatusEventArgs(status, message)); Processing(this, new vlnTreeStatusEventArgs(status, message));
} }
//C2021-035 Add Refresh Tree Option at highest level
public event vlnTreeViewStatusEvent RefreshFormats;
private void OnRefreshFormats(bool status, string message)
{
if (RefreshFormats != null)
RefreshFormats(this, new vlnTreeStatusEventArgs(status, message));
}
#endregion #endregion
#region SetLastValuesAndSaveIfChangedStuff #region SetLastValuesAndSaveIfChangedStuff
private void SetLastValues(VETreeNode node) private void SetLastValues(VETreeNode node)
@@ -4664,36 +4648,6 @@ namespace Volian.Controls.Library
if (myFolder.FolderID == ((FolderInfo)obj2).FolderID) return true; if (myFolder.FolderID == ((FolderInfo)obj2).FolderID) return true;
return false; return false;
} }
//C2021-035 Add Refresh Tree Option at highest level
public void RefreshTree()
{
//reload the base node
VETreeNode tbase = (VETreeNode) Nodes[0];
tbase.ChildrenLoaded = false;
//Refresh the formats
OnRefreshFormats(true, "Refreshing Formats");
//reset the procedure lists so db is re-queried in case they changed
//also clear other caches in case added steps / sections / etc...
PartInfo.ClearPartInfoCache();
ItemInfo.ClearItemInfoCache();
DocVersionInfo.ResetAllProcedures();
FolderInfo.ClearFolderInfoCache();
//Refresh the base VEPROMS object
var fldr = tbase.VEObject as FolderInfo;
if (fldr != null)
{
Invoke((Action)(() => { tbase.VEObject = FolderInfo.Get(fldr.FolderID); }));
}
//refresh the tree
Invoke((Action)(() => { tbase.RefreshNode(); }));
this.Invoke((Action)(() => { this.Update(); }));
}
} }
#region DragHelper #region DragHelper
public class DragHelper public class DragHelper