fix #2679 - fixed issue where ModuleDefinition cache properties were being overwritten (same issue as #2674 however implemented in ModuleController)
This commit is contained in:
parent
2c88f36e3d
commit
0a30f2b7e8
|
@ -75,7 +75,7 @@ namespace Oqtane.Controllers
|
||||||
module.Order = pagemodule.Order;
|
module.Order = pagemodule.Order;
|
||||||
module.ContainerType = pagemodule.ContainerType;
|
module.ContainerType = pagemodule.ContainerType;
|
||||||
|
|
||||||
module.ModuleDefinition = FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName));
|
module.ModuleDefinition = _moduleDefinitions.FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName));
|
||||||
|
|
||||||
module.Settings = settings.Where(item => item.EntityId == pagemodule.ModuleId)
|
module.Settings = settings.Where(item => item.EntityId == pagemodule.ModuleId)
|
||||||
.Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, pagemodule.Module.PermissionList))
|
.Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, pagemodule.Module.PermissionList))
|
||||||
|
@ -95,29 +95,6 @@ namespace Oqtane.Controllers
|
||||||
return modules;
|
return modules;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ModuleDefinition FilterModuleDefinition(ModuleDefinition moduleDefinition)
|
|
||||||
{
|
|
||||||
if (moduleDefinition != null)
|
|
||||||
{
|
|
||||||
moduleDefinition.Description = "";
|
|
||||||
moduleDefinition.Categories = "";
|
|
||||||
moduleDefinition.Version = "";
|
|
||||||
moduleDefinition.Owner = "";
|
|
||||||
moduleDefinition.Url = "";
|
|
||||||
moduleDefinition.Contact = "";
|
|
||||||
moduleDefinition.License = "";
|
|
||||||
moduleDefinition.Dependencies = "";
|
|
||||||
moduleDefinition.PermissionNames = "";
|
|
||||||
moduleDefinition.ServerManagerType = "";
|
|
||||||
moduleDefinition.ReleaseVersions = "";
|
|
||||||
moduleDefinition.PackageName = "";
|
|
||||||
moduleDefinition.AssemblyName = "";
|
|
||||||
moduleDefinition.PermissionList = null;
|
|
||||||
moduleDefinition.Template = "";
|
|
||||||
}
|
|
||||||
return moduleDefinition;
|
|
||||||
}
|
|
||||||
|
|
||||||
// GET api/<controller>/5
|
// GET api/<controller>/5
|
||||||
[HttpGet("{id}")]
|
[HttpGet("{id}")]
|
||||||
public Module Get(int id)
|
public Module Get(int id)
|
||||||
|
@ -126,7 +103,7 @@ namespace Oqtane.Controllers
|
||||||
if (module != null && module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User,PermissionNames.View, module.PermissionList))
|
if (module != null && module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User,PermissionNames.View, module.PermissionList))
|
||||||
{
|
{
|
||||||
List<ModuleDefinition> moduledefinitions = _moduleDefinitions.GetModuleDefinitions(module.SiteId).ToList();
|
List<ModuleDefinition> moduledefinitions = _moduleDefinitions.GetModuleDefinitions(module.SiteId).ToList();
|
||||||
module.ModuleDefinition = FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName));
|
module.ModuleDefinition = _moduleDefinitions.FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName));
|
||||||
module.Settings = _settings.GetSettings(EntityNames.Module, id)
|
module.Settings = _settings.GetSettings(EntityNames.Module, id)
|
||||||
.Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, module.PermissionList))
|
.Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, module.PermissionList))
|
||||||
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
|
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
|
||||||
|
|
|
@ -128,7 +128,7 @@ namespace Oqtane.Controllers
|
||||||
module.Order = pagemodule.Order;
|
module.Order = pagemodule.Order;
|
||||||
module.ContainerType = pagemodule.ContainerType;
|
module.ContainerType = pagemodule.ContainerType;
|
||||||
|
|
||||||
module.ModuleDefinition = FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName));
|
module.ModuleDefinition = _moduleDefinitions.FilterModuleDefinition(moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName));
|
||||||
|
|
||||||
module.Settings = settings.Where(item => item.EntityId == pagemodule.ModuleId)
|
module.Settings = settings.Where(item => item.EntityId == pagemodule.ModuleId)
|
||||||
.Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, pagemodule.Module.PermissionList))
|
.Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, pagemodule.Module.PermissionList))
|
||||||
|
@ -153,28 +153,6 @@ namespace Oqtane.Controllers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ModuleDefinition FilterModuleDefinition(ModuleDefinition moduleDefinition)
|
|
||||||
{
|
|
||||||
var ModuleDefinition = new ModuleDefinition();
|
|
||||||
|
|
||||||
if (moduleDefinition != null)
|
|
||||||
{
|
|
||||||
// required client-side properties
|
|
||||||
ModuleDefinition.ModuleDefinitionId = moduleDefinition.ModuleDefinitionId;
|
|
||||||
ModuleDefinition.SiteId = moduleDefinition.SiteId;
|
|
||||||
ModuleDefinition.ModuleDefinitionName = moduleDefinition.ModuleDefinitionName;
|
|
||||||
ModuleDefinition.Name = moduleDefinition.Name;
|
|
||||||
ModuleDefinition.Runtimes = moduleDefinition.Runtimes;
|
|
||||||
ModuleDefinition.ControlTypeRoutes = moduleDefinition.ControlTypeRoutes;
|
|
||||||
ModuleDefinition.DefaultAction = moduleDefinition.DefaultAction;
|
|
||||||
ModuleDefinition.SettingsType = moduleDefinition.SettingsType;
|
|
||||||
ModuleDefinition.ControlTypeTemplate = moduleDefinition.ControlTypeTemplate;
|
|
||||||
ModuleDefinition.IsPortable = moduleDefinition.IsPortable;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ModuleDefinition;
|
|
||||||
}
|
|
||||||
|
|
||||||
// POST api/<controller>
|
// POST api/<controller>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
[Authorize(Roles = RoleNames.Host)]
|
[Authorize(Roles = RoleNames.Host)]
|
||||||
|
|
|
@ -10,5 +10,6 @@ namespace Oqtane.Repository
|
||||||
ModuleDefinition GetModuleDefinition(int moduleDefinitionId, int siteId);
|
ModuleDefinition GetModuleDefinition(int moduleDefinitionId, int siteId);
|
||||||
void UpdateModuleDefinition(ModuleDefinition moduleDefinition);
|
void UpdateModuleDefinition(ModuleDefinition moduleDefinition);
|
||||||
void DeleteModuleDefinition(int moduleDefinitionId);
|
void DeleteModuleDefinition(int moduleDefinitionId);
|
||||||
|
ModuleDefinition FilterModuleDefinition(ModuleDefinition moduleDefinition);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,6 +59,28 @@ namespace Oqtane.Repository
|
||||||
_cache.Remove("moduledefinitions");
|
_cache.Remove("moduledefinitions");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ModuleDefinition FilterModuleDefinition(ModuleDefinition moduleDefinition)
|
||||||
|
{
|
||||||
|
var ModuleDefinition = new ModuleDefinition();
|
||||||
|
|
||||||
|
if (moduleDefinition != null)
|
||||||
|
{
|
||||||
|
// only include required client-side properties
|
||||||
|
ModuleDefinition.ModuleDefinitionId = moduleDefinition.ModuleDefinitionId;
|
||||||
|
ModuleDefinition.SiteId = moduleDefinition.SiteId;
|
||||||
|
ModuleDefinition.ModuleDefinitionName = moduleDefinition.ModuleDefinitionName;
|
||||||
|
ModuleDefinition.Name = moduleDefinition.Name;
|
||||||
|
ModuleDefinition.Runtimes = moduleDefinition.Runtimes;
|
||||||
|
ModuleDefinition.ControlTypeRoutes = moduleDefinition.ControlTypeRoutes;
|
||||||
|
ModuleDefinition.DefaultAction = moduleDefinition.DefaultAction;
|
||||||
|
ModuleDefinition.SettingsType = moduleDefinition.SettingsType;
|
||||||
|
ModuleDefinition.ControlTypeTemplate = moduleDefinition.ControlTypeTemplate;
|
||||||
|
ModuleDefinition.IsPortable = moduleDefinition.IsPortable;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ModuleDefinition;
|
||||||
|
}
|
||||||
|
|
||||||
public List<ModuleDefinition> LoadModuleDefinitions(int siteId)
|
public List<ModuleDefinition> LoadModuleDefinitions(int siteId)
|
||||||
{
|
{
|
||||||
// get module definitions
|
// get module definitions
|
||||||
|
|
Loading…
Reference in New Issue
Block a user