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,22 +165,23 @@ 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
site.Themes = _themeRepository.GetThemes().ToList();
// initialize module Assemblies
var moduleDefinitions = _moduleDefinitionRepository.GetModuleDefinitions(alias.SiteId);
// execute migrations
var version = ProcessSiteMigrations(alias, site);
version = ProcessPageTemplates(alias, site, moduleDefinitions, version);
if (site.Version != version)
{ {
site.Version = version; // initialize theme Assemblies
UpdateSite(site); site.Themes = _themeRepository.GetThemes().ToList();
}
// initialize module Assemblies
var moduleDefinitions = _moduleDefinitionRepository.GetModuleDefinitions(alias.SiteId);
// execute migrations
var version = ProcessSiteMigrations(alias, site);
version = ProcessPageTemplates(alias, site, moduleDefinitions, version);
if (site.Version != version)
{
site.Version = version;
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,8 +554,11 @@ namespace Oqtane.Repository
try try
{ {
var module = _moduleRepository.GetModule(pageModule.ModuleId); var module = _moduleRepository.GetModule(pageModule.ModuleId);
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype); if (module != null)
((IPortable)moduleobject).ImportModule(module, pageTemplateModule.Content, moduleDefinition.Version); {
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
((IPortable)moduleobject).ImportModule(module, pageTemplateModule.Content, moduleDefinition.Version);
}
} }
catch (Exception ex) catch (Exception ex)
{ {