improvements to page template processing in cases where a page parent and name is specified without a path
This commit is contained in:
parent
5d650bd276
commit
a9d871e9af
|
@ -319,6 +319,15 @@ namespace Oqtane.Repository
|
||||||
{
|
{
|
||||||
pages = _pageRepository.GetPages(site.SiteId).ToList();
|
pages = _pageRepository.GetPages(site.SiteId).ToList();
|
||||||
}
|
}
|
||||||
|
Page parent = null;
|
||||||
|
if (string.IsNullOrEmpty(pageTemplate.Path))
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrEmpty(pageTemplate.Parent))
|
||||||
|
{
|
||||||
|
parent = pages.FirstOrDefault(item => item.Path.ToLower() == pageTemplate.Parent.ToLower());
|
||||||
|
}
|
||||||
|
pageTemplate.Path = (parent != null) ? parent.Path + "/" + pageTemplate.Name : pageTemplate.Name;
|
||||||
|
}
|
||||||
var page = pages.FirstOrDefault(item => item.Path.ToLower() == pageTemplate.Path.ToLower());
|
var page = pages.FirstOrDefault(item => item.Path.ToLower() == pageTemplate.Path.ToLower());
|
||||||
if (page == null)
|
if (page == null)
|
||||||
{
|
{
|
||||||
|
@ -326,17 +335,18 @@ namespace Oqtane.Repository
|
||||||
page.SiteId = site.SiteId;
|
page.SiteId = site.SiteId;
|
||||||
page.Path = pageTemplate.Path.ToLower();
|
page.Path = pageTemplate.Path.ToLower();
|
||||||
}
|
}
|
||||||
page.Name = (!string.IsNullOrEmpty(pageTemplate.Name)) ? pageTemplate.Name : page.Path;
|
if (string.IsNullOrEmpty(pageTemplate.Parent))
|
||||||
page.Name = (page.Name.Contains("/")) ? page.Name.Substring(page.Name.LastIndexOf("/") + 1) : page.Name;
|
|
||||||
int? parentid = null;
|
|
||||||
if (!string.IsNullOrEmpty(pageTemplate.Parent))
|
|
||||||
{
|
{
|
||||||
if (pages.Any(item => item.Path.ToLower() == pageTemplate.Parent.ToLower()))
|
if (pageTemplate.Path.Contains("/"))
|
||||||
{
|
{
|
||||||
parentid = pages.FirstOrDefault(item => item.Path.ToLower() == pageTemplate.Parent.ToLower()).PageId;
|
parent = pages.FirstOrDefault(item => item.Path.ToLower() == pageTemplate.Path.Substring(0, pageTemplate.Path.LastIndexOf("/")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
page.ParentId = parentid;
|
page.ParentId = (parent != null) ? parent.PageId : null;
|
||||||
|
if (string.IsNullOrEmpty(pageTemplate.Name))
|
||||||
|
{
|
||||||
|
page.Name = (pageTemplate.Path.Contains("/")) ? pageTemplate.Path.Substring(pageTemplate.Name.LastIndexOf("/") + 1) : pageTemplate.Path;
|
||||||
|
}
|
||||||
page.Title = pageTemplate.Title;
|
page.Title = pageTemplate.Title;
|
||||||
page.Order = pageTemplate.Order;
|
page.Order = pageTemplate.Order;
|
||||||
page.Url = pageTemplate.Url;
|
page.Url = pageTemplate.Url;
|
||||||
|
|
|
@ -44,6 +44,7 @@ namespace Oqtane.Models
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
|
// note that Parent actually means Parent Path
|
||||||
public string Parent { get; set; }
|
public string Parent { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
|
|
Loading…
Reference in New Issue
Block a user