Compare commits

..

8 Commits

2 changed files with 37 additions and 3 deletions

View File

@@ -622,8 +622,17 @@ namespace Volian.Controls.Library
{
if (!MySessionInfo.CanCheckOutItem(myItemInfo.MyProcedure.ItemID, CheckOutType.Procedure, ref message))
{
DisplayTabItem dti = MyBar?.Items?.OfType<DisplayTabItem>().FirstOrDefault(x => x.MyItemInfo?.ItemID == myItemInfo.MyProcedure.ItemID);
//C2019-036 View Only mode work with Checked Out Procedures
if (MessageBox.Show(this, message, "Procedure Already Checked Out", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
//shouldn't prompt - should just auto put in view only if already in open tab
//in view only
if (
(dti != null && dti.MyStepTabPanel.MyStepPanel.VwMode == E_ViewMode.View)
||
(SeparateWindows && VersionID == myItemInfo.MyDocVersion.VersionID)
|| //to handle special case where item will be opened in a separate window
MessageBox.Show(this, message, "Procedure Already Checked Out", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
viewonlymode = true;
else
return null;

View File

@@ -136,9 +136,34 @@ namespace Volian.Controls.Library
//C2019-036 View Only mode work with Checked Out Procedures
//is in View Only Mode, so do not set up the Security
if (OwnerID == 0)
return;
{
UserInfo ui = UserInfo.GetByUserID(OwnerInfo.Get(OwnerID).SessionUserID);
UserInfo uiViewOnly = UserInfo.GetByUserID(Base.Library.VlnSettings.UserID);
if (uiViewOnly.IsAdministrator())
{
MyUserRole = $"{Base.Library.VlnSettings.UserID} - Administrator";
}
else if (uiViewOnly.IsSetAdministrator(myItem.MyDocVersion))
{
MyUserRole = $"{Base.Library.VlnSettings.UserID} - Set Administrator";
}
else if (uiViewOnly.IsWriter(myItem.MyDocVersion))
{
MyUserRole = $"{Base.Library.VlnSettings.UserID} - Writer";
}
else if (uiViewOnly.IsROEditor(myItem.MyDocVersion))
{
MyUserRole = $"{Base.Library.VlnSettings.UserID} - RO Editor";
}
else
{
MyUserRole = $"{Base.Library.VlnSettings.UserID} - Reviewer";
}
return;
}
UserInfo ui = UserInfo.GetByUserID(OwnerInfo.Get(OwnerID).SessionUserID);
if (ui == null)
{