From 8b82722c6b790d22a35af9cbc2432dd36d3edcee Mon Sep 17 00:00:00 2001 From: John Date: Thu, 8 Oct 2020 19:40:37 +0000 Subject: [PATCH] B2020-111 Limit where the Set Amin can create new folders --- PROMS/Volian.Controls.Library/vlnTreeView.cs | 31 ++++++++++++-------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index a141d63f..33ac7570 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -653,25 +653,32 @@ namespace Volian.Controls.Library fi = tn.VEObject as FolderInfo; bool DoSpecificInfo = fi.ActiveFormat.PlantFormat.FormatData.SpecificInfo; if (ui.IsAdministrator() || ui.IsSetAdministrator(fi))// && fi.MyParent == null) //VEPROMS level - { - if(fi.HasWorkingDraft) - cm.MenuItems.Add("Export Procedure Set", new EventHandler(mi_Click)); - else - cm.MenuItems.Add("Import Procedure Set", new EventHandler(mi_Click)); - if (DoSpecificInfo) - cm.MenuItems.Add("Folder Specific Information", new EventHandler(mi_Click)); // C2020-008: change to 'Folder' - } + { + if (fi.HasWorkingDraft) + cm.MenuItems.Add("Export Procedure Set", new EventHandler(mi_Click)); + else + cm.MenuItems.Add("Import Procedure Set", new EventHandler(mi_Click)); + if (DoSpecificInfo) + cm.MenuItems.Add("Folder Specific Information", new EventHandler(mi_Click)); // C2020-008: change to 'Folder' + } //_MyLog.WarnFormat("Context Menu 1b - {0}", GC.GetTotalMemory(true)); if (ui.IsAdministrator() || ui.IsSetAdministrator(fi)) { if (fi.MyParent != null) // don't allow insert before/after if at top node { if (!ui.IsAdministrator() && DoSpecificInfo) cm.MenuItems.Add("Procedure Set Specific Information", new EventHandler(mi_Click)); - cm.MenuItems.Add("Insert Folder Before", new EventHandler(mi_Click)); - cm.MenuItems.Add("Insert Folder After", new EventHandler(mi_Click)); + // B2020-111 only allow Set Administrator to add new folders inside folders they admininstrate + if (ui.IsAdministrator()||ui.IsSetAdministrator(fi.MyParent)) + { + cm.MenuItems.Add("Insert Folder Before", new EventHandler(mi_Click)); + cm.MenuItems.Add("Insert Folder After", new EventHandler(mi_Click)); + } } - if (fi.FolderDocVersionCount == 0) cm.MenuItems.Add("New Folder", new EventHandler(mi_Click)); - if (fi.ChildFolderCount == 0 && !fi.HasWorkingDraft) cm.MenuItems.Add("Create Working Draft", new EventHandler(mi_Click)); + // B2020-111 only allow Set Administrator to add new folders inside folders they admininstrate + if ((ui.IsAdministrator() || ui.IsSetAdministrator(fi.MyParent)) && fi.FolderDocVersionCount == 0) + cm.MenuItems.Add("New Folder", new EventHandler(mi_Click)); + if (fi.ChildFolderCount == 0 && !fi.HasWorkingDraft) + cm.MenuItems.Add("Create Working Draft", new EventHandler(mi_Click)); } if (fi.HasWorkingDraft) cm.MenuItems.Add("Print Transition Report", new EventHandler(mi_Click));