Merge pull request #4286 from sbwalker/dev

fix issues when importing SiteTemplates
This commit is contained in:
Shaun Walker 2024-05-24 22:51:57 -04:00 committed by GitHub
commit 52fd030b6e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 37 additions and 19 deletions

View File

@ -328,7 +328,7 @@
var visitorCookieName = Constants.VisitorCookiePrefix + SiteId.ToString(); var visitorCookieName = Constants.VisitorCookiePrefix + SiteId.ToString();
var visitorCookieValue = Context.Request.Cookies[visitorCookieName]; var visitorCookieValue = Context.Request.Cookies[visitorCookieName];
DateTime expiry = DateTime.MinValue; DateTime expiry = DateTime.MinValue;
if (visitorCookieValue.Contains("|")) if (visitorCookieValue != null && visitorCookieValue.Contains("|"))
{ {
var values = visitorCookieValue.Split('|'); var values = visitorCookieValue.Split('|');
int.TryParse(values[0], out _visitorId); int.TryParse(values[0], out _visitorId);

View File

@ -165,7 +165,8 @@ namespace Oqtane.Repository
if (!serverstate.IsInitialized) if (!serverstate.IsInitialized)
{ {
var site = GetSite(alias.SiteId); var site = GetSite(alias.SiteId);
if (site != null)
{
// initialize theme Assemblies // initialize theme Assemblies
site.Themes = _themeRepository.GetThemes().ToList(); site.Themes = _themeRepository.GetThemes().ToList();
@ -180,7 +181,7 @@ namespace Oqtane.Repository
site.Version = version; site.Version = version;
UpdateSite(site); UpdateSite(site);
} }
}
serverstate.IsInitialized = true; serverstate.IsInitialized = true;
} }
} }
@ -411,7 +412,7 @@ namespace Oqtane.Repository
} }
else else
{ {
parent = pages.FirstOrDefault(item => item.Path.ToLower() == pageTemplate.Parent.ToLower()); parent = pages.FirstOrDefault(item => item.Path.ToLower() == ((pageTemplate.Parent == "/") ? "" : pageTemplate.Parent.ToLower()));
} }
page.ParentId = (parent != null) ? parent.PageId : null; page.ParentId = (parent != null) ? parent.PageId : null;
page.Path = page.Path.ToLower(); page.Path = page.Path.ToLower();
@ -487,7 +488,21 @@ namespace Oqtane.Repository
pageModule.Order = (pageTemplateModule.Order == 0) ? 1 : pageTemplateModule.Order; pageModule.Order = (pageTemplateModule.Order == 0) ? 1 : pageTemplateModule.Order;
pageModule.ContainerType = pageTemplateModule.ContainerType; pageModule.ContainerType = pageTemplateModule.ContainerType;
pageModule.IsDeleted = pageTemplateModule.IsDeleted; pageModule.IsDeleted = pageTemplateModule.IsDeleted;
pageModule.Module.PermissionList = pageTemplateModule.PermissionList; pageModule.Module.PermissionList = new List<Permission>();
foreach (var permission in pageTemplateModule.PermissionList)
{
pageModule.Module.PermissionList.Add(new Permission
{
SiteId = permission.SiteId,
EntityName = permission.EntityName,
EntityId = permission.EntityId,
PermissionName = permission.PermissionName,
RoleName = permission.RoleName,
UserId = permission.UserId,
IsAuthorized = permission.IsAuthorized
});
}
//pageModule.Module.PermissionList = pageTemplateModule.PermissionList;
pageModule.Module.AllPages = false; pageModule.Module.AllPages = false;
pageModule.Module.IsDeleted = false; pageModule.Module.IsDeleted = false;
try try
@ -539,9 +554,12 @@ namespace Oqtane.Repository
try try
{ {
var module = _moduleRepository.GetModule(pageModule.ModuleId); var module = _moduleRepository.GetModule(pageModule.ModuleId);
if (module != null)
{
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype); var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
((IPortable)moduleobject).ImportModule(module, pageTemplateModule.Content, moduleDefinition.Version); ((IPortable)moduleobject).ImportModule(module, pageTemplateModule.Content, moduleDefinition.Version);
} }
}
catch (Exception ex) catch (Exception ex)
{ {
if (alias != null) if (alias != null)