From 5797bf549c2e9559427234ee3b06b300f60fc607 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Mon, 18 Sep 2023 09:46:16 -0400 Subject: [PATCH] fix issue with module order in panes caused by transition from Admin to Default pane naming --- Oqtane.Server/Controllers/PageModuleController.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Oqtane.Server/Controllers/PageModuleController.cs b/Oqtane.Server/Controllers/PageModuleController.cs index 3c445772a..637ccb79b 100644 --- a/Oqtane.Server/Controllers/PageModuleController.cs +++ b/Oqtane.Server/Controllers/PageModuleController.cs @@ -10,6 +10,8 @@ using Oqtane.Security; using System.Net; using Microsoft.AspNetCore.Mvc.RazorPages; +using Microsoft.Identity.Client.Extensibility; +using System; namespace Oqtane.Controllers { @@ -133,14 +135,22 @@ public void Put(int pageid, string pane) var page = _pages.GetPage(pageid); if (page != null && page.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, page.SiteId, EntityNames.Page, pageid, PermissionNames.Edit)) { + var panes = pane; + if (pane == PaneNames.Default || pane == PaneNames.Admin) + { + // treat default and admin panes as a single pane + panes = PaneNames.Default + "," + PaneNames.Admin; + pane = PaneNames.Default; + } int order = 1; List pagemodules = _pageModules.GetPageModules(page.SiteId) - .Where(item => item.PageId == pageid && item.Pane == pane).OrderBy(item => item.Order).ToList(); + .Where(item => item.PageId == pageid && panes.Split(',').Contains(item.Pane)).OrderBy(item => item.Order).ToList(); foreach (PageModule pagemodule in pagemodules) { - if (pagemodule.Order != order) + if (pagemodule.Order != order || pagemodule.Pane != pane) { pagemodule.Order = order; + pagemodule.Pane = pane; _pageModules.UpdatePageModule(pagemodule); _syncManager.AddSyncEvent(_alias.TenantId, EntityNames.PageModule, pagemodule.PageModuleId, SyncEventActions.Update); }