#19732: Retaining update editor for custom forms widgets

Work Item: 19732

--HG--
branch : 1.x
This commit is contained in:
GQAdonis
2013-07-15 11:50:27 -07:00
parent bade9fe4ce
commit 7e4333722e
2 changed files with 13 additions and 6 deletions

View File

@@ -132,6 +132,9 @@ namespace Orchard.CustomForms.Controllers {
Services.Notifier.Error(T(error)); Services.Notifier.Error(T(error));
} }
// save the updated editor shape into TempData to survive a redirection and keep the edited values
TempData["CustomFormWidget.InvalidCustomFormState"] = model;
if (returnUrl != null) { if (returnUrl != null) {
return this.RedirectLocal(returnUrl); return this.RedirectLocal(returnUrl);
} }

View File

@@ -1,14 +1,18 @@
@using Orchard.ContentManagement; @{
dynamic editor = Model.Editor;
if (TempData.ContainsKey("CustomFormWidget.InvalidCustomFormState")) {
editor = TempData["CustomFormWidget.InvalidCustomFormState"];
}
@{
// remove default Save/Publish buttons // remove default Save/Publish buttons
Model.Editor.Zones["Sidebar"].Items.Clear(); editor.Zones["Sidebar"].Items.Clear();
} }
@using (Html.BeginFormAntiForgeryPost(Url.Action("Create", "Item", new { area = "Orchard.CustomForms", id = Model.ContentItem.Id }))) { @using (Html.BeginFormAntiForgeryPost(Url.Action("Create", "Item", new { area = "Orchard.CustomForms", id = Model.ContentItem.Id }))) {
@Html.ValidationSummary() @Html.ValidationSummary()
// Model is a Shape, calling Display() so that it is rendered using the most specific template for its Shape type // Model is a Shape, calling Display() so that it is rendered using the most specific template for its Shape type
@Display(Model.Editor) @Display(editor)
@Html.Hidden("returnUrl", Request.RawUrl); @Html.Hidden("returnUrl", Request.RawUrl);