From 18a9c059f4c848f3b24ced0eeb967f2aef215a07 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Thu, 25 May 2023 14:55:46 -0400 Subject: [PATCH] fix site provisioning issue for host module definitions --- .../Repository/ModuleDefinitionRepository.cs | 17 ++++++++++++++--- Oqtane.Shared/Shared/Constants.cs | 5 +++++ 2 files changed, 19 insertions(+), 3 deletions(-) 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