From 6e4fefd873dc17a9b098493afbe511a614cce82e Mon Sep 17 00:00:00 2001 From: Andrea Piovanelli <83577153+AndreaPiovanelli@users.noreply.github.com> Date: Fri, 17 May 2024 09:33:45 +0200 Subject: [PATCH] Content Item published before Custom Form submit event triggers (#8795) * Moved content item publish before triggering form submit events. Refreshed the content item passed in the context of rules manager and workflow manager. * Added version to content manager get call after conditionally publishing the content item. --- .../Controllers/ItemController.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.CustomForms/Controllers/ItemController.cs b/src/Orchard.Web/Modules/Orchard.CustomForms/Controllers/ItemController.cs index a9e866d24a3..c1533953f50 100644 --- a/src/Orchard.Web/Modules/Orchard.CustomForms/Controllers/ItemController.cs +++ b/src/Orchard.Web/Modules/Orchard.CustomForms/Controllers/ItemController.cs @@ -198,6 +198,13 @@ private ActionResult CreatePOST(int id, int contentId, string returnUrl, Action< contentItem.As().Container = customForm.ContentItem; + // save the submitted form + if (customForm.SaveContentItem) { + conditionallyPublish(contentItem); + // Refresh content item + contentItem = _contentManager.Get(contentItem.Id, VersionOptions.Latest); + } + // triggers any event _rulesManager.TriggerEvent("CustomForm", "Submitted", () => new Dictionary { { "Content", contentItem } }); @@ -210,11 +217,6 @@ private ActionResult CreatePOST(int id, int contentId, string returnUrl, Action< returnUrl = _tokenizer.Replace(customForm.RedirectUrl, new Dictionary { { "Content", contentItem } }); } - // save the submitted form - if (customForm.SaveContentItem) { - conditionallyPublish(contentItem); - } - // writes a confirmation message if (customForm.CustomMessage) { if (!String.IsNullOrWhiteSpace(customForm.Message)) {