Fixed bug in program that did not allow user to delete a folder after it was created due to applying security incorrectly.
This commit is contained in:
@@ -515,7 +515,7 @@ namespace Volian.Controls.Library
|
||||
// folders then can only add another folder, and if children are docversions can only
|
||||
// add docversion.
|
||||
FolderInfo fi = tn.VEObject as FolderInfo;
|
||||
if (ui.IsAdministrator())
|
||||
if (ui.IsAdministrator() || ui.IsSetAdministrator(fi))
|
||||
{
|
||||
if (fi.MyParent != null) // don't allow insert before/after if at top node
|
||||
{
|
||||
@@ -742,7 +742,13 @@ namespace Volian.Controls.Library
|
||||
cm.MenuItems.Add("Copy", new EventHandler(mi_Click));
|
||||
}
|
||||
#endregion
|
||||
bool ok = tn.VEObject as FolderInfo != null ? false : tn.VEObject as DocVersionInfo != null ? (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as DocVersionInfo) || ui.IsWriter(tn.VEObject as DocVersionInfo)) : (ui.IsAdministrator() || ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion) || ui.IsWriter((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion));
|
||||
bool ok = false;
|
||||
if (tn.VEObject is FolderInfo && (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as FolderInfo)))
|
||||
ok = true;
|
||||
else if (tn.VEObject is DocVersionInfo && (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as DocVersionInfo)))
|
||||
ok = true;
|
||||
else if (ui.IsAdministrator() || ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion) || ui.IsWriter((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion))
|
||||
ok = true;
|
||||
if(ok)
|
||||
Menu_Paste(tn, cm);
|
||||
#region Menu_Delete
|
||||
@@ -1935,13 +1941,16 @@ namespace Volian.Controls.Library
|
||||
if (_LastFolderInfo != null)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
foreach (DocVersionInfo dvi in _LastFolderInfo.FolderDocVersions)
|
||||
if (_LastFolderInfo.FolderDocVersionCount > 0)
|
||||
{
|
||||
foreach (ProcedureInfo pi in dvi.Procedures)
|
||||
foreach (DocVersionInfo dvi in _LastFolderInfo.FolderDocVersions)
|
||||
{
|
||||
if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref message))
|
||||
sb.AppendLine(message);
|
||||
message = string.Empty;
|
||||
foreach (ProcedureInfo pi in dvi.Procedures)
|
||||
{
|
||||
if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref message))
|
||||
sb.AppendLine(message);
|
||||
message = string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (sb.Length > 0)
|
||||
|
Reference in New Issue
Block a user