Compare commits

..

9 Commits

Author SHA1 Message Date
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
22e70d03ad Merge pull request '~Fixed ALTER TABLE statement that adds the ApplicablePlant column to the Formats table so that it checks if the column exists' (#137) from C2023-017 into Development
Merging into Development.  No code review needed.
2023-10-18 09:07:25 -04:00
f320c8a865 ~Fixed ALTER TABLE statement that adds the ApplicablePlant column to the Formats table so that it checks if the column exists 2023-10-18 09:06:08 -04:00
bf3ddcc122 Merge pull request 'C2023-019 Added a message box to install the latest PROMSFixes for when PROMS opens a database that does not have the needed Stored Procedures that allow for displaying only the formats related to that plant.' (#135) from C2023-019_Cant_Load_db_Old_PROMSFixes into Development
Merging C2023-019 into Development after successful code review.
2023-10-17 09:25:14 -04:00
a94fb328de Merge pull request 'B2023-104 Import procedure and Go To RO' (#136) from B2023-104_GoTo_RO_Crash into Development
Reviewed-on: #136
Code review completed successfully.
2023-10-17 07:47:48 -04:00
a79819bb65 B2023-104 Import procedure and Go To RO
Added a check for a bad RO link when trying to do a Go To RO. A message box pops up telling the user to re-link that RO.

Fixed the Import logic so that an old RO link reference can be replaced with the new one that is generated when a procedure is processed during the Import function.  The Import caused the Bad RO link reported in this bug.  This bug was introduced when the ROID was standardized in length and formatting (new RO logic in 2022).
2023-10-16 15:33:45 -04:00
fedbb698ab C2023-019 Added a message box to install the latest PROMSFixes for when PROMS opens a database that does not have the needed Stored Procedures that allow for displaying only the formats related to that plant. 2023-10-13 14:03:39 -04:00
928fba3b37 Merge pull request 'B2023-101 & 102: Incoming Transition & Copy/Paste Replace with Incoming Transitionis crashes' (#134) from GenWork into Development
Passed code review.  OK to generate test executable.
2023-10-12 09:12:16 -04:00
3b88b78b34 B2023-101 & 102: Incoming Transition & Copy/Paste Replace with Incoming Transitionis crashes 2023-10-12 08:29:21 -04:00
6 changed files with 54 additions and 7 deletions

View File

@ -21942,7 +21942,11 @@ GO
*/
/****** Add the ApplicablePlant field to the Formats table ******/
ALTER TABLE Formats ADD ApplicablePlant int NULL;
/****** Add the ApplicablePlant field to the Formats table ******/
IF COL_LENGTH('Formats', 'ApplicablePlant') IS NULL
BEGIN
ALTER TABLE Formats ADD ApplicablePlant int NULL;
END
GO
/****** Update the Formats table with the appropriate ApplicablePlant value ******/

View File

@ -4116,6 +4116,11 @@ namespace VEPROMS
ROFSTLookup lookup = MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyDocVersion);
// B2023-104 use this to replace RO Link information in the imported text
// FormatRoidKey() was creating the roid with the new formatting introduce with B2022-088 & B2022-098
// We need to save the ROID from the imported text in order to update it with the new RO link information
string contentROID = roid;
// B2022-088: [JPR] Find Doc Ro button not working in Word Sections
// B2022-098: [JPR] ROs not being resolved in Word Sections
roid = ROFSTLookup.FormatRoidKey(roid, true);
@ -4135,7 +4140,8 @@ namespace VEPROMS
rou.Save();
RoUsageInfo roui = RoUsageInfo.Get(rou.ROUsageID);
string lookFor = string.Format("#Link:ReferencedObject:{0} {1} {2}[END>", rousageid, roid, oldRODbID.ToString());
//B2023-104 use the ROID from the imported text (contentROID) to create the lookFor string
string lookFor = string.Format("#Link:ReferencedObject:{0} {1} {2}[END>", rousageid, contentROID, oldRODbID.ToString());
string replaceWith = string.Format("#Link:ReferencedObject:{0} {1} {2}[END>", rou.ROUsageID.ToString(), roid, newRODbID.ToString());
_DidProcessROs = content.Text.Contains(lookFor); // B2017-076 RO link in the text so we will be processing it

View File

@ -2508,11 +2508,28 @@ namespace VEPROMS.CSLA.Library
firstTrans = false;
if (!CanDeleteObject())
throw new System.Security.SecurityException("User not authorized to remove a Item");
// B2016-009 check source and desintation types and display message box if needed
// C2022-017 moved the CheckSourceDestinationType call to btnPasteReplace_Click in StepTabRibbon
// B2023-101 Handle Paste Replace when procedure to be replaced has Incoming Transitions, i.e. do a separate try/catch for this case
ItemInfo newItemInfo = null;
try
{
newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo); //itemInfo.ItemID, itemInfo.MyContent.Type, itemInfo.MyContent.Type);
if (newItemInfo == null) return null;
}
catch (Exception ex1)
{
if (ex1.Message.Contains("has External Transitions and has no next step")
|| ex1.Message.Contains("has External Transitions to Procedure")
|| ex1.Message.Contains("has External Transitions to it's children"))
{
FlexibleMessageBox.Show("This procedure has external transition references to it that must be resolved before doing the Paste/Replace.\r\nRight Click on the procedure and select the Incoming Transitions menu option to find these references and resolve them.", "Paste Replace Failed", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
return null;
}
}
try
{
// B2016-009 check source and desintation types and display message box if needed
// C2022-017 moved the CheckSourceDestinationType call to btnPasteReplace_Click in StepTabRibbon
ItemInfo newItemInfo = ItemInfo.CopyPasteReplaceItemInfoFetch(copyStartID, itemInfo); //itemInfo.ItemID, itemInfo.MyContent.Type, itemInfo.MyContent.Type);
// Delete business objects, including remove from tree
ItemInfo.DeleteItemInfoAndChildren(itemInfo.ItemID); // Dispose ItemInfo and Children
using (Item item = Get(newItemInfo.ItemID)) ItemInfo.Refresh(item);

View File

@ -160,6 +160,14 @@ namespace VEPROMS.CSLA.Library
catch (Exception ex)
{
if (_MyLog.IsErrorEnabled) _MyLog.Error("FormatInfoList.DataPortal_Fetch", ex);
System.Text.StringBuilder sbMsg = new System.Text.StringBuilder();
sbMsg.Append("The SQL Stored Procedures may need updating.");
sbMsg.Append("\n\nPlease have your DBA update the database with the PROMSFixes.sql script file that was delivered with this PROMS executable.");
sbMsg.Append("\n\nThe PROMSFixes.sql file is included with the PROMS installation download.");
sbMsg.Append("\n\nIt can also be found in your PROMS executable folder:");
sbMsg.AppendFormat("\n\t{0}", Volian.Base.Library.ExeInfo.PROMSExecutableFolderPath());
System.Windows.Forms.MessageBox.Show(sbMsg.ToString(), "Update Stored Procedures", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation);
throw new DbCslaException("FormatInfoList.DataPortal_Fetch", ex);
}
this.RaiseListChangedEvents = true;

View File

@ -1134,6 +1134,9 @@ namespace Volian.Controls.Library
// C2020-033: Before allowing conversion of Incoming Transitions to text, get list of results that the user has permission edit.
private List<int> TranCvtCheckPermission(bool all)
{
// B2023-102 Don't crash on converting incoming transitions to text if there are none (can happen if 2nd pass occurs)
if (_SearchResults == null) return null;
// check if a non-reader can convert transitions to text even if a reader - this is set by an administrator on the top
// folder properties dialog
bool allowNonAdmin = IncTranCvtPerm();

View File

@ -3112,8 +3112,17 @@ namespace Volian.Controls.Library
else
{
LinkText lt = new LinkText(_MyStepRTB.MyLinkText);
myROID = lt.MyRoUsageInfo.ROID.ToLower();
myRODB = lt.MyRoUsageInfo.MyRODb;
//B2023-104 If we could not get the MyRoUsageInfo then we have a bad RO Link. Tell user to re-link the RO
if (lt.MyRoUsageInfo != null)
{
myROID = lt.MyRoUsageInfo.ROID.ToLower();
myRODB = lt.MyRoUsageInfo.MyRODb;
}
else
{
FlexibleMessageBox.Show("Invalid RO link information.\n\n Please re-link this RO value.", "Invalid RO Reference", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
if (myROID == null) return;
if (myROID.StartsWith("ffff"))