diff --git a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs index e44ca777..0104d8ea 100644 --- a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs +++ b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs @@ -359,10 +359,21 @@ namespace Oqtane.Repository if (moduledefinition.Categories == "Admin") { - moduledefinition.PermissionList = new List + var shortName = moduledefinition.ModuleDefinitionName.Replace("Oqtane.Modules.Admin.", "").Replace(", Oqtane.Client", ""); + if (Constants.DefaultHostModuleTypes.Contains(shortName)) { - new Permission(PermissionNames.Utilize, RoleNames.Admin, true) - }; + moduledefinition.PermissionList = new List + { + new Permission(PermissionNames.Utilize, RoleNames.Host, true) + }; + } + else + { + moduledefinition.PermissionList = new List + { + new Permission(PermissionNames.Utilize, RoleNames.Admin, true) + }; + } } else { diff --git a/Oqtane.Shared/Shared/Constants.cs b/Oqtane.Shared/Shared/Constants.cs index f9474777..916fa310 100644 --- a/Oqtane.Shared/Shared/Constants.cs +++ b/Oqtane.Shared/Shared/Constants.cs @@ -1,4 +1,7 @@ using System; +using Oqtane.Models; +using System.Collections.Generic; +using System.Runtime.InteropServices; namespace Oqtane.Shared { @@ -39,6 +42,8 @@ namespace Oqtane.Shared public const string DefaultSiteTemplate = "Oqtane.SiteTemplates.DefaultSiteTemplate, Oqtane.Server"; + public static readonly string[] DefaultHostModuleTypes = new[] { "Upgrade", "Themes", "SystemInfo", "Sql", "Sites", "ModuleDefinitions", "Logs", "Jobs", "ModuleCreator" }; + public const string FileUrl = "/files/"; public const string ImageUrl = "/api/file/image/"; public const int UserFolderCapacity = 20; // megabytes