Merge pull request #2865 from sbwalker/dev

use ReturnUrl for Page Management invoked by Control Panel
This commit is contained in:
Shaun Walker 2023-06-05 09:42:54 -04:00 committed by GitHub
commit bc9de5d094
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 12 deletions

View File

@ -402,9 +402,9 @@
await PageService.UpdatePageOrderAsync(page.SiteId, page.PageId, page.ParentId);
await logger.LogInformation("Page Added {Page}", page);
if (PageState.QueryString.ContainsKey("cp"))
if (!string.IsNullOrEmpty(PageState.ReturnUrl))
{
NavigationManager.NavigateTo(NavigateUrl(PageState.Pages.First(item => item.PageId == int.Parse(PageState.QueryString["cp"])).Path));
NavigationManager.NavigateTo(PageState.ReturnUrl);
}
else
{
@ -431,9 +431,9 @@
private void Cancel()
{
if (PageState.QueryString.ContainsKey("cp"))
if (!string.IsNullOrEmpty(PageState.ReturnUrl))
{
NavigationManager.NavigateTo(NavigateUrl(PageState.Pages.First(item => item.PageId == int.Parse(PageState.QueryString["cp"])).Path));
NavigationManager.NavigateTo(PageState.ReturnUrl);
}
else
{

View File

@ -409,7 +409,7 @@
private void ThemeSettings()
{
_themeSettingsType = null;
if (PageState.QueryString.ContainsKey("cp")) // can only be displayed if invoked from Control Panel
if (!string.IsNullOrEmpty(PageState.ReturnUrl)) // can only be displayed if invoked from Control Panel
{
var theme = PageState.Site.Themes.FirstOrDefault(item => item.Themes.Any(themecontrol => themecontrol.TypeName.Equals(_themetype)));
if (theme != null && !string.IsNullOrEmpty(theme.ThemeSettingsType))
@ -565,9 +565,9 @@
}
await logger.LogInformation("Page Saved {Page}", page);
if (PageState.QueryString.ContainsKey("cp"))
if (!string.IsNullOrEmpty(PageState.ReturnUrl))
{
NavigationManager.NavigateTo(NavigateUrl(PageState.Pages.First(item => item.PageId == int.Parse(PageState.QueryString["cp"])).Path));
NavigationManager.NavigateTo(PageState.ReturnUrl);
}
else
{
@ -593,9 +593,9 @@
private void Cancel()
{
if (PageState.QueryString.ContainsKey("cp"))
if (!string.IsNullOrEmpty(PageState.ReturnUrl))
{
NavigationManager.NavigateTo(NavigateUrl(PageState.Pages.First(item => item.PageId == int.Parse(PageState.QueryString["cp"])).Path));
NavigationManager.NavigateTo(PageState.ReturnUrl);
}
else
{

View File

@ -520,10 +520,10 @@
switch (location)
{
case "Add":
url = EditUrl("admin/pages", module.ModuleId, location, "cp=" + PageState.Page.PageId);
break;
url = EditUrl("admin/pages", module.ModuleId, location, $"returnurl={WebUtility.UrlEncode(PageState.Route.PathAndQuery)}");
break;
case "Edit":
url = EditUrl("admin/pages", module.ModuleId, location, "id=" + PageState.Page.PageId.ToString() + "&cp=" + PageState.Page.PageId);
url = EditUrl("admin/pages", module.ModuleId, location, $"id={PageState.Page.PageId}&returnurl={WebUtility.UrlEncode(PageState.Route.PathAndQuery)}");
break;
}
}