Merge pull request #2360 from sbwalker/dev
resolve issue with deleted pages and modules caused by refactoring
This commit is contained in:
commit
ee80712c77
|
@ -1,5 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
using Oqtane.Models;
|
using Oqtane.Models;
|
||||||
|
|
||||||
|
@ -25,11 +26,11 @@ namespace Oqtane.UI
|
||||||
|
|
||||||
public List<Page> Pages
|
public List<Page> Pages
|
||||||
{
|
{
|
||||||
get { return Site.Pages; }
|
get { return Site.Pages.Where(item => !item.IsDeleted).ToList(); }
|
||||||
}
|
}
|
||||||
public List<Module> Modules
|
public List<Module> Modules
|
||||||
{
|
{
|
||||||
get { return Site.Modules; }
|
get { return Site.Modules.Where(item => !item.IsDeleted).ToList(); }
|
||||||
}
|
}
|
||||||
public List<Language> Languages
|
public List<Language> Languages
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,7 +3,6 @@ namespace Oqtane.UI
|
||||||
public enum Refresh
|
public enum Refresh
|
||||||
{
|
{
|
||||||
None,
|
None,
|
||||||
Page,
|
|
||||||
Site,
|
Site,
|
||||||
Application
|
Application
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,11 +70,8 @@
|
||||||
private async Task Refresh()
|
private async Task Refresh()
|
||||||
{
|
{
|
||||||
Site site;
|
Site site;
|
||||||
List<Language> languages;
|
|
||||||
List<Page> pages;
|
|
||||||
Page page;
|
Page page;
|
||||||
User user = null;
|
User user = null;
|
||||||
List<Module> modules;
|
|
||||||
var editmode = false;
|
var editmode = false;
|
||||||
var refresh = UI.Refresh.None;
|
var refresh = UI.Refresh.None;
|
||||||
var lastsyncdate = DateTime.UtcNow.AddHours(-1);
|
var lastsyncdate = DateTime.UtcNow.AddHours(-1);
|
||||||
|
@ -173,24 +170,14 @@
|
||||||
{
|
{
|
||||||
if (sync.SyncEvents.Exists(item => item.EntityName == EntityNames.User && item.EntityId == user.UserId))
|
if (sync.SyncEvents.Exists(item => item.EntityName == EntityNames.User && item.EntityId == user.UserId))
|
||||||
{
|
{
|
||||||
|
site = await SiteService.GetSiteAsync(SiteState.Alias.SiteId);
|
||||||
refresh = UI.Refresh.Site;
|
refresh = UI.Refresh.Site;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PageState == null || refresh == UI.Refresh.Site)
|
if (PageState == null || refresh == UI.Refresh.Site)
|
||||||
{
|
{
|
||||||
pages = site.Pages.Where(item => !item.IsDeleted).ToList();
|
page = site.Pages.FirstOrDefault(item => item.Path.Equals(route.PagePath, StringComparison.OrdinalIgnoreCase));
|
||||||
languages = site.Languages;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pages = PageState.Pages;
|
|
||||||
languages = PageState.Languages;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (PageState == null || refresh == UI.Refresh.Site)
|
|
||||||
{
|
|
||||||
page = pages.FirstOrDefault(item => item.Path.Equals(route.PagePath, StringComparison.OrdinalIgnoreCase));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -200,11 +187,11 @@
|
||||||
// get the page if the path has changed
|
// get the page if the path has changed
|
||||||
if (page == null || page.Path != route.PagePath)
|
if (page == null || page.Path != route.PagePath)
|
||||||
{
|
{
|
||||||
page = pages.FirstOrDefault(item => item.Path.Equals(route.PagePath, StringComparison.OrdinalIgnoreCase));
|
page = site.Pages.FirstOrDefault(item => item.Path.Equals(route.PagePath, StringComparison.OrdinalIgnoreCase));
|
||||||
// if the home page path does not exist then use the first page in the collection (a future enhancement would allow the admin to specify the home page)
|
// if the home page path does not exist then use the first page in the collection (a future enhancement would allow the admin to specify the home page)
|
||||||
if (page == null && route.PagePath == "")
|
if (page == null && route.PagePath == "")
|
||||||
{
|
{
|
||||||
page = pages.FirstOrDefault();
|
page = site.Pages.FirstOrDefault();
|
||||||
}
|
}
|
||||||
editmode = false;
|
editmode = false;
|
||||||
}
|
}
|
||||||
|
@ -221,16 +208,7 @@
|
||||||
{
|
{
|
||||||
page = await ProcessPage(page, site, user);
|
page = await ProcessPage(page, site, user);
|
||||||
|
|
||||||
if (PageState == null || refresh == UI.Refresh.Site)
|
(page, site.Modules) = ProcessModules(page, site.Modules, moduleid, action, (!string.IsNullOrEmpty(page.DefaultContainerType)) ? page.DefaultContainerType : site.DefaultContainerType);
|
||||||
{
|
|
||||||
modules = site.Modules.Where(item => !item.IsDeleted).ToList();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
modules = PageState.Modules;
|
|
||||||
}
|
|
||||||
|
|
||||||
(page, modules) = ProcessModules(page, modules, moduleid, action, (!string.IsNullOrEmpty(page.DefaultContainerType)) ? page.DefaultContainerType : site.DefaultContainerType);
|
|
||||||
|
|
||||||
_pagestate = new PageState
|
_pagestate = new PageState
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user