diff --git a/Oqtane.Client/Installer/Installer.razor b/Oqtane.Client/Installer/Installer.razor index 215fe4b1..45ad895a 100644 --- a/Oqtane.Client/Installer/Installer.razor +++ b/Oqtane.Client/Installer/Installer.razor @@ -54,13 +54,13 @@

@Localizer["ApplicationAdmin"]


- +
- +
- +
@@ -102,7 +102,7 @@ private object _databaseConfig; private RenderFragment DatabaseConfigComponent { get; set; } - private string _hostUsername = UserNames.Host; + private string _hostUsername = string.Empty; private string _hostPassword = string.Empty; private string _confirmPassword = string.Empty; private string _hostEmail = string.Empty; @@ -162,7 +162,7 @@ connectionString = databaseConfigControl.GetConnectionString(); } - if (connectionString != "" && _hostUsername != "" && _hostPassword.Length >= 6 && _hostPassword == _confirmPassword && _hostEmail != "" && _hostEmail.Contains("@")) + if (connectionString != "" && !string.IsNullOrEmpty(_hostUsername) && _hostPassword.Length >= 6 && _hostPassword == _confirmPassword && !string.IsNullOrEmpty(_hostEmail) && _hostEmail.Contains("@")) { _loadingDisplay = ""; StateHasChanged(); @@ -176,9 +176,10 @@ DatabaseType = database.DBType, ConnectionString = connectionString, Aliases = uri.Authority, - HostEmail = _hostEmail, + HostUsername = _hostUsername, HostPassword = _hostPassword, - HostName = UserNames.Host, + HostEmail = _hostEmail, + HostName = _hostUsername, TenantName = TenantNames.Master, IsNewTenant = true, SiteName = Constants.DefaultSite, diff --git a/Oqtane.Client/Modules/Admin/Jobs/Edit.razor b/Oqtane.Client/Modules/Admin/Jobs/Edit.razor index 2c005056..72e56897 100644 --- a/Oqtane.Client/Modules/Admin/Jobs/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Jobs/Edit.razor @@ -31,7 +31,7 @@
- +
-
- -
- -
-
-
- -
- -
-
@@ -59,9 +47,42 @@
- +
- +
+
+ +
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
@@ -82,10 +103,13 @@ private string _isEnabled = "True"; private string _interval = string.Empty; private string _frequency = string.Empty; - private string _startDate = string.Empty; - private string _endDate = string.Empty; + private DateTime? _startDate = null; + private string _startTime = string.Empty; + private DateTime? _endDate = null; + private string _endTime = string.Empty; private string _retentionHistory = string.Empty; - private string _nextExecution = string.Empty; + private DateTime? _nextDate = null; + private string _nextTime = string.Empty; private string createdby; private DateTime createdon; private string modifiedby; @@ -106,10 +130,22 @@ _isEnabled = job.IsEnabled.ToString(); _interval = job.Interval.ToString(); _frequency = job.Frequency; - _startDate = (job.StartDate != null) ? job.StartDate.ToString() : string.Empty; - _endDate = (job.EndDate != null) ? job.EndDate.ToString() : string.Empty; + _startDate = job.StartDate; + if (job.StartDate != null && job.StartDate.Value.TimeOfDay.TotalSeconds != 0) + { + _startTime = job.StartDate.Value.ToString("HH:mm"); + } + _endDate = job.EndDate; + if (job.EndDate != null && job.EndDate.Value.TimeOfDay.TotalSeconds != 0) + { + _endTime = job.EndDate.Value.ToString("HH:mm"); + } _retentionHistory = job.RetentionHistory.ToString(); - _nextExecution = job.NextExecution.ToString(); + _nextDate = job.NextExecution; + if (job.NextExecution != null && job.NextExecution.Value.TimeOfDay.TotalSeconds != 0) + { + _nextTime = job.NextExecution.Value.ToString("HH:mm"); + } createdby = job.CreatedBy; createdon = job.CreatedOn; modifiedby = job.ModifiedBy; @@ -135,35 +171,34 @@ job.IsEnabled = Boolean.Parse(_isEnabled); job.Frequency = _frequency; job.Interval = int.Parse(_interval); - - if (_startDate == string.Empty) + job.StartDate = _startDate; + if (job.StartDate != null) { - job.StartDate = null; + job.StartDate = job.StartDate.Value.Date; + if (!string.IsNullOrEmpty(_startTime)) + { + job.StartDate = DateTime.Parse(job.StartDate.Value.ToShortDateString() + " " + _startTime); + } } - else + job.EndDate = _endDate; + if (job.EndDate != null) { - job.StartDate = DateTime.Parse(_startDate); + job.EndDate = job.EndDate.Value.Date; + if (!string.IsNullOrEmpty(_endTime)) + { + job.EndDate = DateTime.Parse(job.EndDate.Value.ToShortDateString() + " " + _endTime); + } } - - if (_endDate == string.Empty) - { - job.EndDate = null; - } - else - { - job.EndDate = DateTime.Parse(_endDate); - } - - if (_nextExecution == string.Empty) - { - job.NextExecution = null; - } - else - { - job.NextExecution = DateTime.Parse(_nextExecution); - } - job.RetentionHistory = int.Parse(_retentionHistory); + job.NextExecution = _nextDate; + if (job.NextExecution != null) + { + job.NextExecution = job.NextExecution.Value.Date; + if (!string.IsNullOrEmpty(_nextTime)) + { + job.NextExecution = DateTime.Parse(job.NextExecution.Value.ToShortDateString() + " " + _nextTime); + } + } try { diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor index 1b8dbb9c..ac446a76 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Add.razor @@ -10,17 +10,14 @@ -
-
-
-
+ +
+
+
-
-
-   +
-
@@ -36,7 +33,7 @@ @(String.Format("{0:n0}", context.Downloads)) @SharedLocalizer["Search.Downloads"]  |   @SharedLocalizer["Search.Released"]: @context.ReleaseDate.ToString("MMM dd, yyyy")  |  @SharedLocalizer["Search.Version"]: @context.Version  |  @SharedLocalizer["Search.Source"]: @context.PackageUrl - + @@ -62,12 +59,48 @@ +@if (_productname != "") +{ +
+ +
+} + @SharedLocalizer["Cancel"] @code { private List _packages; private string _search = ""; + private string _productname = ""; + private string _license = ""; + private string _packageid = ""; + private string _version = ""; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; @@ -126,6 +159,52 @@ } } + private void HideModal() + { + _productname = ""; + _license = ""; + StateHasChanged(); + } + + private async Task GetPackage(string packageid, string version) + { + try + { + var package = await PackageService.GetPackageAsync(packageid, version); + if (package != null) + { + _productname = package.Name; + _license = package.License; + _packageid = package.PackageId; + _version = package.Version; + } + StateHasChanged(); + } + catch (Exception ex) + { + await logger.LogError(ex, "Error Getting Package {PackageId} {Version}", packageid, version); + AddModuleMessage(Localizer["Error.Module.Download"], MessageType.Error); + } + } + + private async Task DownloadPackage() + { + try + { + await PackageService.DownloadPackageAsync(_packageid, _version, "Packages"); + await logger.LogInformation("Package {PackageId} {Version} Downloaded Successfully", _packageid, _version); + AddModuleMessage(Localizer["Success.Module.Download"], MessageType.Success); + _productname = ""; + _license = ""; + StateHasChanged(); + } + catch (Exception ex) + { + await logger.LogError(ex, "Error Downloading Package {PackageId} {Version}", _packageid, _version); + AddModuleMessage(Localizer["Error.Module.Download"], MessageType.Error); + } + } + private async Task InstallModules() { try @@ -138,20 +217,4 @@ await logger.LogError(ex, "Error Installing Module"); } } - - private async Task DownloadModule(string packageid, string version) - { - try - { - await PackageService.DownloadPackageAsync(packageid, version, "Packages"); - await logger.LogInformation("Module {ModuleDefinitionName} {Version} Downloaded Successfully", packageid, version); - AddModuleMessage(Localizer["Success.Module.Download"], MessageType.Success); - StateHasChanged(); - } - catch (Exception ex) - { - await logger.LogError(ex, "Error Downloading Module {ModuleDefinitionName} {Version}", packageid, version); - AddModuleMessage(Localizer["Error.Module.Download"], MessageType.Error); - } - } } diff --git a/Oqtane.Client/Modules/Admin/Roles/Users.razor b/Oqtane.Client/Modules/Admin/Roles/Users.razor index 8799a816..57ea8656 100644 --- a/Oqtane.Client/Modules/Admin/Roles/Users.razor +++ b/Oqtane.Client/Modules/Admin/Roles/Users.razor @@ -61,7 +61,7 @@ else @context.EffectiveDate @context.ExpiryDate - + diff --git a/Oqtane.Client/Modules/Admin/Sites/Add.razor b/Oqtane.Client/Modules/Admin/Sites/Add.razor index 4dba923a..da72dac1 100644 --- a/Oqtane.Client/Modules/Admin/Sites/Add.razor +++ b/Oqtane.Client/Modules/Admin/Sites/Add.razor @@ -128,13 +128,13 @@ else @DatabaseConfigComponent; }
- +
- +
- +
@@ -164,7 +164,7 @@ else private string _tenantName = string.Empty; - private string _hostUserName = UserNames.Host; + private string _hostusername = string.Empty; private string _hostpassword = string.Empty; private string _name = string.Empty; @@ -275,7 +275,7 @@ else // validate host credentials var user = new User(); user.SiteId = PageState.Site.SiteId; - user.Username = UserNames.Host; + user.Username = _hostusername; user.Password = _hostpassword; user = await UserService.LoginUserAsync(user, false, false); if (user.IsAuthenticated) @@ -292,8 +292,9 @@ else config.TenantName = _tenantName; config.DatabaseType = database.DBType; config.ConnectionString = connectionString; - config.HostEmail = user.Email; + config.HostUsername = _hostusername; config.HostPassword = _hostpassword; + config.HostEmail = user.Email; config.HostName = user.DisplayName; config.IsNewTenant = true; } diff --git a/Oqtane.Client/Modules/Admin/Themes/Add.razor b/Oqtane.Client/Modules/Admin/Themes/Add.razor index 726f8833..1df2fa88 100644 --- a/Oqtane.Client/Modules/Admin/Themes/Add.razor +++ b/Oqtane.Client/Modules/Admin/Themes/Add.razor @@ -10,25 +10,17 @@ -
-
-
-
-
+
+
+
-
-
-   +
-
- -
- @if (_packages != null) { if (_packages.Count > 0) @@ -41,7 +33,7 @@ @(String.Format("{0:n0}", context.Downloads)) @SharedLocalizer["Search.Downloads"]  |   @SharedLocalizer["Search.Released"]: @context.ReleaseDate.ToString("MMM dd, yyyy")  |  @SharedLocalizer["Search.Version"]: @context.Version  |  @SharedLocalizer["Search.Source"]: @context.PackageUrl - + @@ -68,12 +60,48 @@ +@if (_productname != "") +{ +
+ +
+} + @SharedLocalizer["Cancel"] @code { private List _packages; private string _search = ""; + private string _productname = ""; + private string _license = ""; + private string _packageid = ""; + private string _version = ""; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Host; @@ -132,6 +160,52 @@ } } + private void HideModal() + { + _productname = ""; + _license = ""; + StateHasChanged(); + } + + private async Task GetPackage(string packageid, string version) + { + try + { + var package = await PackageService.GetPackageAsync(packageid, version); + if (package != null) + { + _productname = package.Name; + _license = package.License; + _packageid = package.PackageId; + _version = package.Version; + } + StateHasChanged(); + } + catch (Exception ex) + { + await logger.LogError(ex, "Error Getting Package {PackageId} {Version}", packageid, version); + AddModuleMessage(Localizer["Error.Theme.Download"], MessageType.Error); + } + } + + private async Task DownloadPackage() + { + try + { + await PackageService.DownloadPackageAsync(_packageid, _version, "Packages"); + await logger.LogInformation("Package {PackageId} {Version} Downloaded Successfully", _packageid, _version); + AddModuleMessage(Localizer["Success.Theme.Download"], MessageType.Success); + _productname = ""; + _license = ""; + StateHasChanged(); + } + catch (Exception ex) + { + await logger.LogError(ex, "Error Downloading Package {PackageId} {Version}", _packageid, _version); + AddModuleMessage(Localizer["Error.Theme.Download"], MessageType.Error); + } + } + private async Task InstallThemes() { try @@ -144,20 +218,4 @@ await logger.LogError(ex, "Error Installing Theme"); } } - - private async Task DownloadTheme(string packageid, string version) - { - try - { - await PackageService.DownloadPackageAsync(packageid, version, "Packages"); - await logger.LogInformation("Theme {ThemeName} {Version} Downloaded Successfully", packageid, version); - AddModuleMessage(Localizer["Success.Theme.Download"], MessageType.Success); - StateHasChanged(); - } - catch (Exception ex) - { - await logger.LogError(ex, "Error Downloading Module {ThemeName} {Version}", packageid, version); - AddModuleMessage(Localizer["Error.Theme.Download"], MessageType.Error); - } - } } diff --git a/Oqtane.Client/Modules/Admin/Users/Index.razor b/Oqtane.Client/Modules/Admin/Users/Index.razor index a947ce96..a661c325 100644 --- a/Oqtane.Client/Modules/Admin/Users/Index.razor +++ b/Oqtane.Client/Modules/Admin/Users/Index.razor @@ -39,7 +39,7 @@ else - + @@ -95,6 +95,8 @@ else { await UserService.DeleteUserAsync(user.UserId, PageState.Site.SiteId); await logger.LogInformation("User Deleted {User}", UserRole.User); + allroles = await UserRoleService.GetUserRolesAsync(PageState.Site.SiteId); + userroles = Search(_search); StateHasChanged(); } } diff --git a/Oqtane.Client/Modules/HtmlText/Index.razor b/Oqtane.Client/Modules/HtmlText/Index.razor index b1dc8fd6..57a95cef 100644 --- a/Oqtane.Client/Modules/HtmlText/Index.razor +++ b/Oqtane.Client/Modules/HtmlText/Index.razor @@ -2,7 +2,7 @@ @namespace Oqtane.Modules.HtmlText @inherits ModuleBase @inject IHtmlTextService HtmlTextService -@inject IStringLocalizer Localizer +@inject IStringLocalizer Localizer @((MarkupString)content) @@ -16,7 +16,7 @@ @code { public override List Resources => new List() -{ + { new Resource { ResourceType = ResourceType.Stylesheet, Url = ModulePath() + "Module.css" } }; diff --git a/Oqtane.Client/Resources/Installer/Installer.resx b/Oqtane.Client/Resources/Installer/Installer.resx index 7d79c123..ecbce69e 100644 --- a/Oqtane.Client/Resources/Installer/Installer.resx +++ b/Oqtane.Client/Resources/Installer/Installer.resx @@ -154,13 +154,13 @@ Email: - Provide the password for the host user account + Provide a password for the primary user account Password: - The username of the host user account (this is not customizable) + Provide a username for the primary user account Username: diff --git a/Oqtane.Client/Resources/Modules/Admin/Jobs/Edit.resx b/Oqtane.Client/Resources/Modules/Admin/Jobs/Edit.resx index b30cffac..eae2f962 100644 --- a/Oqtane.Client/Resources/Modules/Admin/Jobs/Edit.resx +++ b/Oqtane.Client/Resources/Modules/Admin/Jobs/Edit.resx @@ -1,4 +1,4 @@ - +