Merge remote-tracking branch 'oqtane/dev' into dev

This commit is contained in:
Leigh Pointer 2023-03-14 16:52:08 +01:00
commit 702ff964fe
5 changed files with 27 additions and 49 deletions

View File

@ -75,7 +75,7 @@ namespace Oqtane.Controllers
module.Order = pagemodule.Order;
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)
.Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, pagemodule.Module.PermissionList))
@ -95,29 +95,6 @@ namespace Oqtane.Controllers
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
[HttpGet("{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))
{
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)
.Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, module.PermissionList))
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);

View File

@ -128,7 +128,7 @@ namespace Oqtane.Controllers
module.Order = pagemodule.Order;
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)
.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>
[HttpPost]
[Authorize(Roles = RoleNames.Host)]

View File

@ -10,5 +10,6 @@ namespace Oqtane.Repository
ModuleDefinition GetModuleDefinition(int moduleDefinitionId, int siteId);
void UpdateModuleDefinition(ModuleDefinition moduleDefinition);
void DeleteModuleDefinition(int moduleDefinitionId);
ModuleDefinition FilterModuleDefinition(ModuleDefinition moduleDefinition);
}
}

View File

@ -59,6 +59,28 @@ namespace Oqtane.Repository
_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)
{
// get module definitions

View File

@ -34,7 +34,7 @@ namespace Oqtane.Repository
var permissions = _db.Permission.Where(item => item.SiteId == siteId).Where(item => item.EntityName == entityName).ToList();
foreach (var permission in permissions)
{
if (permission.RoleId != null)
if (permission.RoleId != null && string.IsNullOrEmpty(permission.RoleName))
{
permission.RoleName = roles.Find(item => item.RoleId == permission.RoleId).Name;
}