diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor index 92f26844..155a0c72 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor @@ -61,7 +61,7 @@ foreach (Package package in _packages.ToArray()) { - if (moduledefinitions.Exists(item => Utilities.GetTypeName(item.ModuleDefinitionName) == package.PackageId)) + if (moduledefinitions.Exists(item => item.PackageName == package.PackageId)) { _packages.Remove(package); } diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor index 1a86754a..1ffc631b 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor @@ -34,9 +34,9 @@ else @context.Name @context.Version - @if (UpgradeAvailable(context.ModuleDefinitionName, context.Version)) + @if (UpgradeAvailable(context.PackageName, context.Version)) { - + } @@ -66,12 +66,12 @@ else } } - private bool UpgradeAvailable(string moduledefinitionname, string version) + private bool UpgradeAvailable(string packagename, string version) { var upgradeavailable = false; if (_packages != null) { - var package = _packages.Where(item => item.PackageId == Utilities.GetTypeName(moduledefinitionname)).FirstOrDefault(); + var package = _packages.Where(item => item.PackageId == packagename).FirstOrDefault(); if (package != null) { upgradeavailable = (Version.Parse(package.Version).CompareTo(Version.Parse(version)) > 0); @@ -81,18 +81,18 @@ else return upgradeavailable; } - private async Task DownloadModule(string moduledefinitionname, string version) + private async Task DownloadModule(string packagename, string version) { try { - await PackageService.DownloadPackageAsync(moduledefinitionname, version, "Modules"); - await logger.LogInformation("Module Downloaded {ModuleDefinitionName} {Version}", moduledefinitionname, version); + await PackageService.DownloadPackageAsync(packagename, version, "Modules"); + await logger.LogInformation("Module Downloaded {ModuleDefinitionName} {Version}", packagename, version); await ModuleDefinitionService.InstallModuleDefinitionsAsync(); AddModuleMessage(Localizer["Module Installed Successfully. You Must Restart Your Application To Apply These Changes.", NavigateUrl("admin/system")], MessageType.Success); } catch (Exception ex) { - await logger.LogError(ex, "Error Downloading Module {ModuleDefinitionName} {Version} {Error}", moduledefinitionname, version, ex.Message); + await logger.LogError(ex, "Error Downloading Module {ModuleDefinitionName} {Version} {Error}", packagename, version, ex.Message); AddModuleMessage(Localizer["Error Downloading Module"], MessageType.Error); } } diff --git a/Oqtane.Client/Modules/Admin/Themes/Add.razor b/Oqtane.Client/Modules/Admin/Themes/Add.razor index ab042ed5..24501517 100644 --- a/Oqtane.Client/Modules/Admin/Themes/Add.razor +++ b/Oqtane.Client/Modules/Admin/Themes/Add.razor @@ -61,7 +61,7 @@ foreach (Package package in _packages.ToArray()) { - if (themes.Exists(item => Utilities.GetTypeName(item.ThemeName) == package.PackageId)) + if (themes.Exists(item => item.PackageName == package.PackageId)) { _packages.Remove(package); } diff --git a/Oqtane.Client/Modules/Admin/Themes/Index.razor b/Oqtane.Client/Modules/Admin/Themes/Index.razor index d87bbd8a..60df31cb 100644 --- a/Oqtane.Client/Modules/Admin/Themes/Index.razor +++ b/Oqtane.Client/Modules/Admin/Themes/Index.razor @@ -35,9 +35,9 @@ else @context.Name @context.Version - @if (UpgradeAvailable(context.ThemeName, context.Version)) + @if (UpgradeAvailable(context.PackageName, context.Version)) { - + } @@ -68,12 +68,12 @@ else } } - private bool UpgradeAvailable(string themename, string version) + private bool UpgradeAvailable(string packagename, string version) { var upgradeavailable = false; if (_packages != null) { - var package = _packages.Where(item => item.PackageId == Utilities.GetTypeName(themename)).FirstOrDefault(); + var package = _packages.Where(item => item.PackageId == packagename).FirstOrDefault(); if (package != null) { upgradeavailable = (Version.Parse(package.Version).CompareTo(Version.Parse(version)) > 0); @@ -82,18 +82,18 @@ else return upgradeavailable; } - private async Task DownloadTheme(string themename, string version) + private async Task DownloadTheme(string packagename, string version) { try { - await PackageService.DownloadPackageAsync(themename, version, "Themes"); - await logger.LogInformation("Theme Downloaded {ThemeName} {Version}", themename, version); + await PackageService.DownloadPackageAsync(packagename, version, "Themes"); + await logger.LogInformation("Theme Downloaded {ThemeName} {Version}", packagename, version); await ThemeService.InstallThemesAsync(); AddModuleMessage(Localizer["Theme Installed Successfully. You Must Restart Your Application To Apply These Changes.", NavigateUrl("admin/system")], MessageType.Success); } catch (Exception ex) { - await logger.LogError(ex, "Error Downloading Theme {ThemeName} {Version} {Error}", themename, version, ex.Message); + await logger.LogError(ex, "Error Downloading Theme {ThemeName} {Version} {Error}", packagename, version, ex.Message); AddModuleMessage(Localizer["Error Downloading Theme"], MessageType.Error); } } diff --git a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs index 5a510c4c..9574ac58 100644 --- a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs +++ b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs @@ -231,6 +231,10 @@ namespace Oqtane.Repository moduledefinition.Version = ""; // will be populated from database moduledefinition.ControlTypeTemplate = modulecontroltype.Namespace + "." + Constants.ActionToken + ", " + modulecontroltype.Assembly.GetName().Name; moduledefinition.AssemblyName = assembly.GetName().Name; + if (string.IsNullOrEmpty(moduledefinition.PackageName)) + { + moduledefinition.PackageName = Utilities.GetTypeName(moduledefinition.ModuleDefinitionName); + } if (string.IsNullOrEmpty(moduledefinition.Categories)) { diff --git a/Oqtane.Server/Repository/ThemeRepository.cs b/Oqtane.Server/Repository/ThemeRepository.cs index c3fc91ee..e338c080 100644 --- a/Oqtane.Server/Repository/ThemeRepository.cs +++ b/Oqtane.Server/Repository/ThemeRepository.cs @@ -100,6 +100,10 @@ namespace Oqtane.Repository theme.Themes = new List(); theme.Containers = new List(); theme.AssemblyName = assembly.FullName.Split(",")[0]; + if (string.IsNullOrEmpty(theme.PackageName)) + { + theme.PackageName = Utilities.GetTypeName(theme.ThemeName); + } themes.Add(theme); index = themes.FindIndex(item => item.ThemeName == qualifiedThemeType); } diff --git a/Oqtane.Shared/Models/ModuleDefinition.cs b/Oqtane.Shared/Models/ModuleDefinition.cs index dbc74903..688d1f15 100644 --- a/Oqtane.Shared/Models/ModuleDefinition.cs +++ b/Oqtane.Shared/Models/ModuleDefinition.cs @@ -28,6 +28,7 @@ namespace Oqtane.Models ReleaseVersions = ""; DefaultAction = ""; SettingsType = ""; + PackageName = ""; Runtimes = ""; Template = ""; } @@ -92,6 +93,8 @@ namespace Oqtane.Models public string DefaultAction { get; set; } [NotMapped] public string SettingsType { get; set; } // added in 2.0.2 + [NotMapped] + public string PackageName { get; set; } // added in 2.1.0 // internal properties [NotMapped] diff --git a/Oqtane.Shared/Models/Theme.cs b/Oqtane.Shared/Models/Theme.cs index 20336047..ba881dd4 100644 --- a/Oqtane.Shared/Models/Theme.cs +++ b/Oqtane.Shared/Models/Theme.cs @@ -15,6 +15,9 @@ namespace Oqtane.Models License = ""; Dependencies = ""; Template = ""; + ThemeSettingsType = ""; + ContainerSettingsType = ""; + PackageName = ""; } public string ThemeName { get; set; } @@ -25,8 +28,9 @@ namespace Oqtane.Models public string Contact { get; set; } public string License { get; set; } public string Dependencies { get; set; } - public string ThemeSettingsType { get; set; } - public string ContainerSettingsType { get; set; } + public string ThemeSettingsType { get; set; } // added in 2.0.2 + public string ContainerSettingsType { get; set; } // added in 2.0.2 + public string PackageName { get; set; } // added in 2.1.0 // internal properties public string AssemblyName { get; set; }