From 8dfe8eba2735119a40725765683a6d1d0cc45373 Mon Sep 17 00:00:00 2001 From: Shaun Walker Date: Tue, 1 Jun 2021 15:49:06 -0400 Subject: [PATCH] fix issue in theme creator --- Oqtane.Client/Modules/Admin/ModuleCreator/Index.razor | 4 ++-- Oqtane.Client/Modules/Admin/ModuleDefinitions/Create.razor | 4 ++-- Oqtane.Client/Modules/Admin/Themes/Create.razor | 4 ++-- Oqtane.Server/Controllers/ModuleDefinitionController.cs | 5 ++++- Oqtane.Server/Controllers/ThemeController.cs | 5 ++++- .../wwwroot/Modules/Templates/External/template.json | 2 +- .../wwwroot/Themes/Templates/External/template.json | 2 +- Oqtane.Shared/Models/Template.cs | 7 ++++++- 8 files changed, 22 insertions(+), 11 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/ModuleCreator/Index.razor b/Oqtane.Client/Modules/Admin/ModuleCreator/Index.razor index c3a65763..bd29e7ca 100644 --- a/Oqtane.Client/Modules/Admin/ModuleCreator/Index.razor +++ b/Oqtane.Client/Modules/Admin/ModuleCreator/Index.razor @@ -43,7 +43,7 @@ @foreach (Template template in _templates) { - + } @@ -170,7 +170,7 @@ else private bool IsValid(string name) { // must contain letters, underscores and digits and first character must be letter or underscore - return !string.IsNullOrEmpty(name) && Regex.IsMatch(name, "^[A-Za-z_][A-Za-z0-9_]*$"); + return !string.IsNullOrEmpty(name) && name.ToLower() != "module" && Regex.IsMatch(name, "^[A-Za-z_][A-Za-z0-9_]*$"); } private void TemplateChanged(ChangeEventArgs e) diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Create.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Create.razor index a194a017..98324f3a 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Create.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Create.razor @@ -43,7 +43,7 @@ @foreach (Template template in _templates) { - + } @@ -133,7 +133,7 @@ private bool IsValid(string name) { // must contain letters, underscores and digits and first character must be letter or underscore - return !string.IsNullOrEmpty(name) && Regex.IsMatch(name, "^[A-Za-z_][A-Za-z0-9_]*$"); + return !string.IsNullOrEmpty(name) && name.ToLower() != "module" && Regex.IsMatch(name, "^[A-Za-z_][A-Za-z0-9_]*$"); } private void TemplateChanged(ChangeEventArgs e) diff --git a/Oqtane.Client/Modules/Admin/Themes/Create.razor b/Oqtane.Client/Modules/Admin/Themes/Create.razor index c53e79aa..491bf746 100644 --- a/Oqtane.Client/Modules/Admin/Themes/Create.razor +++ b/Oqtane.Client/Modules/Admin/Themes/Create.razor @@ -36,7 +36,7 @@ @foreach (Template template in _templates) { - + } @@ -125,7 +125,7 @@ private bool IsValid(string name) { // must contain letters, underscores and digits and first character must be letter or underscore - return !string.IsNullOrEmpty(name) && Regex.IsMatch(name, "^[A-Za-z_][A-Za-z0-9_]*$"); + return !string.IsNullOrEmpty(name) && name.ToLower() != "theme" && Regex.IsMatch(name, "^[A-Za-z_][A-Za-z0-9_]*$"); } private void TemplateChanged(ChangeEventArgs e) diff --git a/Oqtane.Server/Controllers/ModuleDefinitionController.cs b/Oqtane.Server/Controllers/ModuleDefinitionController.cs index cd363081..cd6d1cd7 100644 --- a/Oqtane.Server/Controllers/ModuleDefinitionController.cs +++ b/Oqtane.Server/Controllers/ModuleDefinitionController.cs @@ -169,9 +169,12 @@ namespace Oqtane.Controllers string templatePath = Utilities.PathCombine(_environment.WebRootPath, "Modules", "Templates", Path.DirectorySeparatorChar.ToString()); foreach (string directory in Directory.GetDirectories(templatePath)) { + string name = directory.Replace(templatePath, ""); if (System.IO.File.Exists(Path.Combine(directory, "template.json"))) { var template = JsonSerializer.Deserialize