allow selection of site template during installation
This commit is contained in:
parent
bda0943d58
commit
34a727b435
|
@ -5,6 +5,7 @@
|
||||||
@inject ISiteService SiteService
|
@inject ISiteService SiteService
|
||||||
@inject IUserService UserService
|
@inject IUserService UserService
|
||||||
@inject IDatabaseService DatabaseService
|
@inject IDatabaseService DatabaseService
|
||||||
|
@inject ISiteTemplateService SiteTemplateService
|
||||||
@inject IJSRuntime JSRuntime
|
@inject IJSRuntime JSRuntime
|
||||||
@inject IStringLocalizer<Installer> Localizer
|
@inject IStringLocalizer<Installer> Localizer
|
||||||
@inject IStringLocalizer<SharedResources> SharedLocalizer
|
@inject IStringLocalizer<SharedResources> SharedLocalizer
|
||||||
|
@ -14,7 +15,7 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="mx-auto text-center">
|
<div class="mx-auto text-center">
|
||||||
<img src="oqtane-black.png" />
|
<img src="oqtane-black.png" />
|
||||||
<div style="font-weight: bold">@SharedLocalizer["Version"] @Constants.Version @Localizer["For"] .NET 7</div>
|
<div style="font-weight: bold">@SharedLocalizer["Version"] @Constants.Version (.NET 7)</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr class="app-rule" />
|
<hr class="app-rule" />
|
||||||
|
@ -62,7 +63,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col text-center">
|
<div class="col text-center">
|
||||||
<h2>@Localizer["ApplicationAdmin"]</h2><br />
|
<h2>@Localizer["ApplicationAdmin"]</h2><br />
|
||||||
|
@ -97,6 +98,20 @@
|
||||||
<input type="text" class="form-control" @bind="@_hostEmail" />
|
<input type="text" class="form-control" @bind="@_hostEmail" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row mb-1 align-items-center">
|
||||||
|
<Label Class="col-sm-3" For="template" HelpText="Select a site template" ResourceKey="Template">Template:</Label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
@if (_templates != null)
|
||||||
|
{
|
||||||
|
<select id="template" class="form-select" @bind="@_template" required>
|
||||||
|
@foreach (var template in _templates)
|
||||||
|
{
|
||||||
|
<option value="@template.TypeName">@template.Name</option>
|
||||||
|
}
|
||||||
|
</select>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -116,23 +131,25 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
private List<Database> _databases;
|
private List<Database> _databases;
|
||||||
private string _databaseName;
|
private string _databaseName;
|
||||||
private Type _databaseConfigType;
|
private Type _databaseConfigType;
|
||||||
private object _databaseConfig;
|
private object _databaseConfig;
|
||||||
private RenderFragment DatabaseConfigComponent { get; set; }
|
private RenderFragment DatabaseConfigComponent { get; set; }
|
||||||
private bool _showConnectionString = false;
|
private bool _showConnectionString = false;
|
||||||
private string _connectionString = string.Empty;
|
private string _connectionString = string.Empty;
|
||||||
|
|
||||||
private string _hostUsername = string.Empty;
|
private string _hostUsername = string.Empty;
|
||||||
private string _hostPassword = string.Empty;
|
private string _hostPassword = string.Empty;
|
||||||
private string _passwordType = "password";
|
private string _passwordType = "password";
|
||||||
private string _confirmPasswordType = "password";
|
private string _confirmPasswordType = "password";
|
||||||
private string _togglePassword = string.Empty;
|
private string _togglePassword = string.Empty;
|
||||||
private string _toggleConfirmPassword = string.Empty;
|
private string _toggleConfirmPassword = string.Empty;
|
||||||
private string _confirmPassword = string.Empty;
|
private string _confirmPassword = string.Empty;
|
||||||
private string _hostEmail = string.Empty;
|
private string _hostEmail = string.Empty;
|
||||||
private bool _register = true;
|
private List<SiteTemplate> _templates;
|
||||||
|
private string _template = Constants.DefaultSiteTemplate;
|
||||||
|
private bool _register = true;
|
||||||
private string _message = string.Empty;
|
private string _message = string.Empty;
|
||||||
private string _loadingDisplay = "display: none;";
|
private string _loadingDisplay = "display: none;";
|
||||||
|
|
||||||
|
@ -155,7 +172,9 @@
|
||||||
_databaseName = "LocalDB";
|
_databaseName = "LocalDB";
|
||||||
}
|
}
|
||||||
LoadDatabaseConfigComponent();
|
LoadDatabaseConfigComponent();
|
||||||
}
|
|
||||||
|
_templates = await SiteTemplateService.GetSiteTemplatesAsync();
|
||||||
|
}
|
||||||
|
|
||||||
private void DatabaseChanged(ChangeEventArgs eventArgs)
|
private void DatabaseChanged(ChangeEventArgs eventArgs)
|
||||||
{
|
{
|
||||||
|
@ -234,7 +253,8 @@
|
||||||
TenantName = TenantNames.Master,
|
TenantName = TenantNames.Master,
|
||||||
IsNewTenant = true,
|
IsNewTenant = true,
|
||||||
SiteName = Constants.DefaultSite,
|
SiteName = Constants.DefaultSite,
|
||||||
Register = _register
|
Register = _register,
|
||||||
|
SiteTemplate = _template
|
||||||
};
|
};
|
||||||
|
|
||||||
var installation = await InstallationService.Install(config);
|
var installation = await InstallationService.Install(config);
|
||||||
|
|
|
@ -124,7 +124,7 @@
|
||||||
<value>Database:</value>
|
<value>Database:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ApplicationAdmin" xml:space="preserve">
|
<data name="ApplicationAdmin" xml:space="preserve">
|
||||||
<value>Application Administrator</value>
|
<value>Application Administration</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="InstallNow" xml:space="preserve">
|
<data name="InstallNow" xml:space="preserve">
|
||||||
<value>Install Now</value>
|
<value>Install Now</value>
|
||||||
|
@ -180,7 +180,7 @@
|
||||||
<data name="EnterConnectionString" xml:space="preserve">
|
<data name="EnterConnectionString" xml:space="preserve">
|
||||||
<value>Enter Connection String</value>
|
<value>Enter Connection String</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="For" xml:space="preserve">
|
<data name="Template" xml:space="preserve">
|
||||||
<value>for</value>
|
<value>Select a site template</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -19,7 +19,6 @@ namespace Oqtane.Controllers
|
||||||
|
|
||||||
// GET: api/<controller>
|
// GET: api/<controller>
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Authorize(Roles = RoleNames.Host)]
|
|
||||||
public IEnumerable<SiteTemplate> Get()
|
public IEnumerable<SiteTemplate> Get()
|
||||||
{
|
{
|
||||||
return _siteTemplates.GetSiteTemplates();
|
return _siteTemplates.GetSiteTemplates();
|
||||||
|
|
|
@ -5,6 +5,7 @@ using System.Reflection;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Oqtane.Infrastructure;
|
using Oqtane.Infrastructure;
|
||||||
using Oqtane.Models;
|
using Oqtane.Models;
|
||||||
|
using Oqtane.Shared;
|
||||||
|
|
||||||
namespace Oqtane.Repository
|
namespace Oqtane.Repository
|
||||||
{
|
{
|
||||||
|
@ -42,7 +43,7 @@ namespace Oqtane.Repository
|
||||||
siteTemplate = new SiteTemplate
|
siteTemplate = new SiteTemplate
|
||||||
{
|
{
|
||||||
Name = (string)siteTemplateType.GetProperty("Name")?.GetValue(siteTemplateObject),
|
Name = (string)siteTemplateType.GetProperty("Name")?.GetValue(siteTemplateObject),
|
||||||
TypeName = siteTemplateType.AssemblyQualifiedName
|
TypeName = Utilities.GetFullTypeName(siteTemplateType.AssemblyQualifiedName)
|
||||||
};
|
};
|
||||||
siteTemplates.Add(siteTemplate);
|
siteTemplates.Add(siteTemplate);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user