diff --git a/DNN Platform/Modules/HTML/Providers/DataProviders/SqlDataProvider/10.00.00.SqlDataProvider b/DNN Platform/Modules/HTML/Providers/DataProviders/SqlDataProvider/10.00.00.SqlDataProvider
index 6a7a727e611..da5dd9ebd76 100644
--- a/DNN Platform/Modules/HTML/Providers/DataProviders/SqlDataProvider/10.00.00.SqlDataProvider
+++ b/DNN Platform/Modules/HTML/Providers/DataProviders/SqlDataProvider/10.00.00.SqlDataProvider
@@ -34,6 +34,48 @@ IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'{databas
END
GO
+-- Update StateID in HtmlText when possible (only default workflows)
+DECLARE @CountResult INT;
+
+SELECT @CountResult = COUNT(*)
+FROM {databaseOwner}{objectQualifier}WorkflowStates AS s1
+INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflowStates AS s2
+ ON s1.StateID = s2.StateID
+ AND s1.WorkflowID = s2.WorkflowID
+ AND s1.StateName = s2.StateName;
+
+IF @CountResult = 3 -- The count should be 3 for the default workflows
+BEGIN
+ BEGIN TRANSACTION;
+
+ BEGIN TRY
+ -- Perform the update
+ UPDATE {databaseOwner}{objectQualifier}HtmlText
+ SET StateID = s2.StateID
+ FROM {databaseOwner}{objectQualifier}HtmlText AS h
+ INNER JOIN {databaseOwner}{objectQualifier}Modules AS m ON h.ModuleID = m.ModuleID
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflowStates AS s1 ON h.StateID = s1.StateID
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflows AS w1 ON s1.WorkflowID = w1.WorkflowID
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflows AS w2 ON w1.WorkflowKey = w2.WorkflowKey AND m.PortalID = w2.PortalID
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflowStates AS s2 ON s1.StateName = s2.StateName AND w2.WorkflowID = s2.WorkflowID;
+
+ -- Commit the transaction
+ COMMIT TRANSACTION;
+ PRINT 'Transaction committed successfully.';
+ END TRY
+ BEGIN CATCH
+ -- Rollback the transaction in case of an error
+ ROLLBACK TRANSACTION;
+ PRINT 'Transaction rolled back due to an error.';
+ PRINT ERROR_MESSAGE();
+ END CATCH
+END
+ELSE
+BEGIN
+ PRINT 'The count is not equal to 3. No action was taken.';
+END
+GO
+
-- Drop Table Workflow if it exists
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'{databaseOwner}{objectQualifier}Workflow') AND type in (N'U'))
BEGIN
@@ -76,18 +118,18 @@ CREATE PROCEDURE {databaseOwner}{objectQualifier}GetAllHtmlText
@ModuleID INT
AS
BEGIN
- SELECT dbo.HtmlText.*,
- dbo.ContentWorkflowStates.*,
- dbo.ContentWorkflows.WorkflowName,
- dbo.Users.DisplayName,
- dbo.Modules.PortalID
- FROM dbo.HtmlText
- INNER JOIN dbo.Modules ON dbo.Modules.ModuleID = dbo.HtmlText.ModuleID
- INNER JOIN dbo.ContentWorkflowStates ON dbo.ContentWorkflowStates.StateID = dbo.HtmlText.StateID
- INNER JOIN dbo.ContentWorkflows ON dbo.ContentWorkflowStates.WorkflowID = dbo.ContentWorkflows.WorkflowID
- LEFT OUTER JOIN dbo.Users ON dbo.HtmlText.LastModifiedByUserID = dbo.Users.UserID
- WHERE dbo.HtmlText.ModuleID = @ModuleID
- ORDER BY dbo.HtmlText.LastModifiedOnDate DESC
+ SELECT {databaseOwner}{objectQualifier}HtmlText.*,
+ {databaseOwner}{objectQualifier}ContentWorkflowStates.*,
+ {databaseOwner}{objectQualifier}ContentWorkflows.WorkflowName,
+ {databaseOwner}{objectQualifier}Users.DisplayName,
+ {databaseOwner}{objectQualifier}Modules.PortalID
+ FROM {databaseOwner}{objectQualifier}HtmlText
+ INNER JOIN {databaseOwner}{objectQualifier}Modules ON {databaseOwner}{objectQualifier}Modules.ModuleID = {databaseOwner}{objectQualifier}HtmlText.ModuleID
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflowStates ON {databaseOwner}{objectQualifier}ContentWorkflowStates.StateID = {databaseOwner}{objectQualifier}HtmlText.StateID
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflows ON {databaseOwner}{objectQualifier}ContentWorkflowStates.WorkflowID = {databaseOwner}{objectQualifier}ContentWorkflows.WorkflowID
+ LEFT OUTER JOIN {databaseOwner}{objectQualifier}Users ON {databaseOwner}{objectQualifier}HtmlText.LastModifiedByUserID = {databaseOwner}{objectQualifier}Users.UserID
+ WHERE {databaseOwner}{objectQualifier}HtmlText.ModuleID = @ModuleID
+ ORDER BY {databaseOwner}{objectQualifier}HtmlText.LastModifiedOnDate DESC
END
GO
@@ -104,17 +146,17 @@ CREATE PROCEDURE {databaseOwner}{objectQualifier}GetHtmlText
@ItemID INT
AS
BEGIN
- SELECT dbo.HtmlText.*,
- dbo.ContentWorkflowStates.*,
- dbo.ContentWorkflows.WorkflowName,
- dbo.Users.DisplayName,
- dbo.Modules.PortalID
- FROM dbo.HtmlText
- INNER JOIN dbo.Modules ON dbo.Modules.ModuleID = dbo.HtmlText.ModuleID
- INNER JOIN dbo.ContentWorkflowStates ON dbo.ContentWorkflowStates.StateID = dbo.HtmlText.StateID
- INNER JOIN dbo.ContentWorkflows ON dbo.ContentWorkflowStates.WorkflowID = dbo.ContentWorkflows.WorkflowID
- LEFT OUTER JOIN dbo.Users ON dbo.HtmlText.LastModifiedByUserID = dbo.Users.UserID
- WHERE dbo.HtmlText.ModuleID = @ModuleID
+ SELECT {databaseOwner}{objectQualifier}HtmlText.*,
+ {databaseOwner}{objectQualifier}ContentWorkflowStates.*,
+ {databaseOwner}{objectQualifier}ContentWorkflows.WorkflowName,
+ {databaseOwner}{objectQualifier}Users.DisplayName,
+ {databaseOwner}{objectQualifier}Modules.PortalID
+ FROM {databaseOwner}{objectQualifier}HtmlText
+ INNER JOIN {databaseOwner}{objectQualifier}Modules ON {databaseOwner}{objectQualifier}Modules.ModuleID = {databaseOwner}{objectQualifier}HtmlText.ModuleID
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflowStates ON {databaseOwner}{objectQualifier}ContentWorkflowStates.StateID = {databaseOwner}{objectQualifier}HtmlText.StateID
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflows ON {databaseOwner}{objectQualifier}ContentWorkflowStates.WorkflowID = {databaseOwner}{objectQualifier}ContentWorkflows.WorkflowID
+ LEFT OUTER JOIN {databaseOwner}{objectQualifier}Users ON {databaseOwner}{objectQualifier}HtmlText.LastModifiedByUserID = {databaseOwner}{objectQualifier}Users.UserID
+ WHERE {databaseOwner}{objectQualifier}HtmlText.ModuleID = @ModuleID
AND ItemID = @ItemID
END
GO
@@ -139,9 +181,9 @@ BEGIN
HtmlTextLog.CreatedByUserID,
Users.DisplayName,
HtmlTextLog.CreatedOnDate
- FROM dbo.HtmlTextLog
- INNER JOIN dbo.ContentWorkflowStates ON dbo.HtmlTextLog.StateID = dbo.ContentWorkflowStates.StateID
- LEFT OUTER JOIN dbo.Users ON dbo.HtmlTextLog.CreatedByUserID = dbo.Users.UserID
+ FROM {databaseOwner}{objectQualifier}HtmlTextLog
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflowStates ON {databaseOwner}{objectQualifier}HtmlTextLog.StateID = {databaseOwner}{objectQualifier}ContentWorkflowStates.StateID
+ LEFT OUTER JOIN {databaseOwner}{objectQualifier}Users ON {databaseOwner}{objectQualifier}HtmlTextLog.CreatedByUserID = {databaseOwner}{objectQualifier}Users.UserID
WHERE ItemID = @ItemID
ORDER BY HtmlTextLog.CreatedOnDate DESC
END
@@ -161,8 +203,8 @@ AS
BEGIN
SELECT HtmlTextUsers.*,
ContentWorkflowStates.StateName
- FROM dbo.HtmlTextUsers
- INNER JOIN dbo.ContentWorkflowStates ON dbo.HtmlTextUsers.StateID = dbo.ContentWorkflowStates.StateID
+ FROM {databaseOwner}{objectQualifier}HtmlTextUsers
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflowStates ON {databaseOwner}{objectQualifier}HtmlTextUsers.StateID = {databaseOwner}{objectQualifier}ContentWorkflowStates.StateID
WHERE HtmlTextUsers.UserID = @UserID
ORDER BY HtmlTextUsers.CreatedOnDate ASC
END
@@ -181,19 +223,19 @@ CREATE PROCEDURE {databaseOwner}{objectQualifier}GetTopHtmlText
@IsPublished BIT
AS
BEGIN
- SELECT TOP 1 dbo.HtmlText.*,
- dbo.ContentWorkflowStates.*,
- dbo.ContentWorkflows.WorkflowName,
- dbo.Users.DisplayName,
- dbo.Modules.PortalID
- FROM dbo.HtmlText
- INNER JOIN dbo.Modules ON dbo.Modules.ModuleID = dbo.HtmlText.ModuleID
- INNER JOIN dbo.ContentWorkflowStates ON dbo.ContentWorkflowStates.StateID = dbo.HtmlText.StateID
- INNER JOIN dbo.ContentWorkflows ON dbo.ContentWorkflowStates.WorkflowID = dbo.ContentWorkflows.WorkflowID
- LEFT OUTER JOIN dbo.Users ON dbo.HtmlText.LastModifiedByUserID = dbo.Users.UserID
- WHERE dbo.HtmlText.ModuleID = @ModuleID
+ SELECT TOP 1 {databaseOwner}{objectQualifier}HtmlText.*,
+ {databaseOwner}{objectQualifier}ContentWorkflowStates.*,
+ {databaseOwner}{objectQualifier}ContentWorkflows.WorkflowName,
+ {databaseOwner}{objectQualifier}Users.DisplayName,
+ {databaseOwner}{objectQualifier}Modules.PortalID
+ FROM {databaseOwner}{objectQualifier}HtmlText
+ INNER JOIN {databaseOwner}{objectQualifier}Modules ON {databaseOwner}{objectQualifier}Modules.ModuleID = {databaseOwner}{objectQualifier}HtmlText.ModuleID
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflowStates ON {databaseOwner}{objectQualifier}ContentWorkflowStates.StateID = {databaseOwner}{objectQualifier}HtmlText.StateID
+ INNER JOIN {databaseOwner}{objectQualifier}ContentWorkflows ON {databaseOwner}{objectQualifier}ContentWorkflowStates.WorkflowID = {databaseOwner}{objectQualifier}ContentWorkflows.WorkflowID
+ LEFT OUTER JOIN {databaseOwner}{objectQualifier}Users ON {databaseOwner}{objectQualifier}HtmlText.LastModifiedByUserID = {databaseOwner}{objectQualifier}Users.UserID
+ WHERE {databaseOwner}{objectQualifier}HtmlText.ModuleID = @ModuleID
AND (IsPublished = @IsPublished OR @IsPublished = 0)
- ORDER BY dbo.HtmlText.LastModifiedOnDate DESC
+ ORDER BY {databaseOwner}{objectQualifier}HtmlText.LastModifiedOnDate DESC
END
GO