@@ -264,7 +264,8 @@ namespace Oqtane.Controllers
|
||||
_userPermissions.IsAuthorized(User, module.SiteId, EntityNames.Folder, folderid, PermissionNames.Edit) && !string.IsNullOrEmpty(filename))
|
||||
{
|
||||
// get content
|
||||
var content = _modules.ExportModule(moduleid);
|
||||
module.IPortableContext = "Export Module";
|
||||
var content = _modules.ExportModule(module);
|
||||
|
||||
// get folder
|
||||
var folder = _folders.GetFolder(folderid, false);
|
||||
@@ -317,7 +318,8 @@ namespace Oqtane.Controllers
|
||||
var module = _modules.GetModule(moduleid);
|
||||
if (ModelState.IsValid && module != null && module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, module.SiteId, EntityNames.Page, pageid, PermissionNames.Edit))
|
||||
{
|
||||
success = _modules.ImportModule(moduleid, content);
|
||||
module.IPortableContext = "Import Module";
|
||||
success = _modules.ImportModule(module, content);
|
||||
if (success)
|
||||
{
|
||||
_logger.Log(LogLevel.Information, this, LogFunction.Update, "Module Content Imported {ModuleId}", moduleid);
|
||||
|
||||
@@ -238,10 +238,13 @@ namespace Oqtane.Controllers
|
||||
};
|
||||
module = _modules.AddModule(module);
|
||||
|
||||
string content = _modules.ExportModule(pm.ModuleId);
|
||||
// deep copy module content (includes settings)
|
||||
pm.Module.IPortableContext = "Copy Page";
|
||||
string content = _modules.ExportModule(pm.Module);
|
||||
if (content != "")
|
||||
{
|
||||
_modules.ImportModule(module.ModuleId, content);
|
||||
module.IPortableContext = "Copy Page";
|
||||
_modules.ImportModule(module, content);
|
||||
}
|
||||
|
||||
PageModule pagemodule = new PageModule();
|
||||
|
||||
@@ -132,7 +132,6 @@ namespace Oqtane.Repository
|
||||
{
|
||||
try
|
||||
{
|
||||
module.IPortableContext = "Export Module";
|
||||
module.Settings = settings.ToDictionary(x => x.SettingName, x => x.SettingValue);
|
||||
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
|
||||
modulecontent.Content = ((IPortable)moduleobject).ExportModule(module);
|
||||
@@ -173,13 +172,24 @@ namespace Oqtane.Repository
|
||||
ModuleDefinition moduledefinition = moduledefinitions.Where(item => item.ModuleDefinitionName == module.ModuleDefinitionName).FirstOrDefault();
|
||||
if (moduledefinition != null)
|
||||
{
|
||||
ModuleContent modulecontent = JsonSerializer.Deserialize<ModuleContent>(content.Replace("\n", ""));
|
||||
var modulecontent = new ModuleContent();
|
||||
if (content.StartsWith("{") && content.EndsWith("}"))
|
||||
{
|
||||
// content was exported as a serialized ModuleContent object
|
||||
modulecontent = JsonSerializer.Deserialize<ModuleContent>(content.Replace("\n", ""));
|
||||
}
|
||||
else
|
||||
{
|
||||
// raw content
|
||||
modulecontent.ModuleDefinitionName = moduledefinition.ModuleDefinitionName;
|
||||
modulecontent.Version = moduledefinition.Version;
|
||||
modulecontent.Content = content;
|
||||
}
|
||||
if (modulecontent.ModuleDefinitionName == moduledefinition.ModuleDefinitionName)
|
||||
{
|
||||
var settings = _settings.GetSettings(EntityNames.Module, module.ModuleId);
|
||||
|
||||
if (modulecontent.Settings != null)
|
||||
{
|
||||
var settings = _settings.GetSettings(EntityNames.Module, module.ModuleId);
|
||||
foreach (var kvp in modulecontent.Settings)
|
||||
{
|
||||
var setting = settings.FirstOrDefault(item => item.SettingName == kvp.Key);
|
||||
@@ -206,7 +216,6 @@ namespace Oqtane.Repository
|
||||
{
|
||||
try
|
||||
{
|
||||
module.IPortableContext = "Import Module";
|
||||
module.Settings = _settings.GetSettings(EntityNames.Module, module.ModuleId).ToDictionary(x => x.SettingName, x => x.SettingValue);
|
||||
var moduleobject = ActivatorUtilities.CreateInstance(_serviceProvider, moduletype);
|
||||
((IPortable)moduleobject).ImportModule(module, modulecontent.Content, modulecontent.Version);
|
||||
|
||||
Reference in New Issue
Block a user