From 24151bb30e3150c48e1c30948d76fe2deee26e2f Mon Sep 17 00:00:00 2001 From: Arvind Ganesh Date: Sat, 22 Feb 2025 16:27:51 +0530 Subject: [PATCH] SaveAndClose: Separated save from save & continue button in Content Type & Admin menu --- global.json | 2 +- .../Controllers/NodeController.cs | 12 ++++++++++-- .../OrchardCore.AdminMenu/Views/Node/Edit.cshtml | 10 +++++++++- .../Controllers/AdminController.cs | 11 +++++++++-- .../OrchardCore.ContentTypes/Views/Admin/Edit.cshtml | 10 +++++++++- 5 files changed, 38 insertions(+), 7 deletions(-) diff --git a/global.json b/global.json index e8378b52eb6..f0ba6cff2b1 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { - "version": "9.0.101", + "version": "9.0.200", "rollForward": "latestMajor" } } diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Controllers/NodeController.cs b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Controllers/NodeController.cs index 7f85195ae12..7e60d526ee7 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Controllers/NodeController.cs +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Controllers/NodeController.cs @@ -193,7 +193,7 @@ public async Task Edit(string id, string treeNodeId) } [HttpPost] - public async Task Edit(AdminNodeEditViewModel model) + public async Task Edit(AdminNodeEditViewModel model, string submit) { if (!await _authorizationService.AuthorizeAsync(User, AdminMenuPermissions.ManageAdminMenu)) { @@ -225,7 +225,15 @@ public async Task Edit(AdminNodeEditViewModel model) await _adminMenuService.SaveAsync(adminMenu); await _notifier.SuccessAsync(H["Admin node updated successfully."]); - return RedirectToAction(nameof(List), new { id = model.AdminMenuId }); + if (String.Equals(submit, "saveAndContinue", StringComparison.Ordinal)) + { + model.Editor = editor; + return View(model); + } + else + { + return RedirectToAction(nameof(List), new { id = model.AdminMenuId }); + } } await _notifier.ErrorAsync(H["The admin node has validation errors."]); diff --git a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Node/Edit.cshtml b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Node/Edit.cshtml index 1932169d601..daa505d5f66 100644 --- a/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Node/Edit.cshtml +++ b/src/OrchardCore.Modules/OrchardCore.AdminMenu/Views/Node/Edit.cshtml @@ -23,7 +23,15 @@
- +
+ + + +
@if (contentSettings.IsSystemDefined) {