diff --git a/Oqtane.Client/Installer/Installer.razor b/Oqtane.Client/Installer/Installer.razor index b07be334..da720228 100644 --- a/Oqtane.Client/Installer/Installer.razor +++ b/Oqtane.Client/Installer/Installer.razor @@ -5,6 +5,7 @@ @inject ISiteService SiteService @inject IUserService UserService @inject IDatabaseService DatabaseService +@inject ISiteTemplateService SiteTemplateService @inject IJSRuntime JSRuntime @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer @@ -14,7 +15,7 @@
-
@SharedLocalizer["Version"] @Constants.Version @Localizer["For"] .NET 7
+
@SharedLocalizer["Version"] @Constants.Version (.NET 7)

@@ -62,7 +63,7 @@ } - +

@Localizer["ApplicationAdmin"]


@@ -97,6 +98,20 @@
+
+ +
+ @if (_templates != null) + { + + } +
+
@@ -116,23 +131,25 @@ @code { - private List _databases; - private string _databaseName; - private Type _databaseConfigType; - private object _databaseConfig; - private RenderFragment DatabaseConfigComponent { get; set; } - private bool _showConnectionString = false; - private string _connectionString = string.Empty; + private List _databases; + private string _databaseName; + private Type _databaseConfigType; + private object _databaseConfig; + private RenderFragment DatabaseConfigComponent { get; set; } + private bool _showConnectionString = false; + private string _connectionString = string.Empty; - private string _hostUsername = string.Empty; - private string _hostPassword = string.Empty; - private string _passwordType = "password"; - private string _confirmPasswordType = "password"; - private string _togglePassword = string.Empty; - private string _toggleConfirmPassword = string.Empty; - private string _confirmPassword = string.Empty; - private string _hostEmail = string.Empty; - private bool _register = true; + private string _hostUsername = string.Empty; + private string _hostPassword = string.Empty; + private string _passwordType = "password"; + private string _confirmPasswordType = "password"; + private string _togglePassword = string.Empty; + private string _toggleConfirmPassword = string.Empty; + private string _confirmPassword = string.Empty; + private string _hostEmail = string.Empty; + private List _templates; + private string _template = Constants.DefaultSiteTemplate; + private bool _register = true; private string _message = string.Empty; private string _loadingDisplay = "display: none;"; @@ -155,7 +172,9 @@ _databaseName = "LocalDB"; } LoadDatabaseConfigComponent(); - } + + _templates = await SiteTemplateService.GetSiteTemplatesAsync(); + } private void DatabaseChanged(ChangeEventArgs eventArgs) { @@ -234,7 +253,8 @@ TenantName = TenantNames.Master, IsNewTenant = true, SiteName = Constants.DefaultSite, - Register = _register + Register = _register, + SiteTemplate = _template }; var installation = await InstallationService.Install(config); diff --git a/Oqtane.Client/Resources/Installer/Installer.resx b/Oqtane.Client/Resources/Installer/Installer.resx index cc67d0a7..23e0f7d7 100644 --- a/Oqtane.Client/Resources/Installer/Installer.resx +++ b/Oqtane.Client/Resources/Installer/Installer.resx @@ -124,7 +124,7 @@ Database: - Application Administrator + Application Administration Install Now @@ -180,7 +180,7 @@ Enter Connection String - - for + + Select a site template \ No newline at end of file diff --git a/Oqtane.Server/Controllers/SiteTemplateController.cs b/Oqtane.Server/Controllers/SiteTemplateController.cs index 489541d0..ff73c348 100644 --- a/Oqtane.Server/Controllers/SiteTemplateController.cs +++ b/Oqtane.Server/Controllers/SiteTemplateController.cs @@ -19,7 +19,6 @@ namespace Oqtane.Controllers // GET: api/ [HttpGet] - [Authorize(Roles = RoleNames.Host)] public IEnumerable Get() { return _siteTemplates.GetSiteTemplates(); diff --git a/Oqtane.Server/Repository/SiteTemplateRepository.cs b/Oqtane.Server/Repository/SiteTemplateRepository.cs index 6c559cdd..04540e72 100644 --- a/Oqtane.Server/Repository/SiteTemplateRepository.cs +++ b/Oqtane.Server/Repository/SiteTemplateRepository.cs @@ -5,6 +5,7 @@ using System.Reflection; using Microsoft.Extensions.DependencyInjection; using Oqtane.Infrastructure; using Oqtane.Models; +using Oqtane.Shared; namespace Oqtane.Repository { @@ -42,7 +43,7 @@ namespace Oqtane.Repository siteTemplate = new SiteTemplate { Name = (string)siteTemplateType.GetProperty("Name")?.GetValue(siteTemplateObject), - TypeName = siteTemplateType.AssemblyQualifiedName + TypeName = Utilities.GetFullTypeName(siteTemplateType.AssemblyQualifiedName) }; siteTemplates.Add(siteTemplate); }