From 9f097521f6179f0370070c1e5674c09fa9238b0e Mon Sep 17 00:00:00 2001 From: sbwalker Date: Tue, 29 Jul 2025 08:11:42 -0400 Subject: [PATCH] fix #5348 - ensure time zones work consistently on all platforms --- Oqtane.Client/Modules/Admin/Register/Index.razor | 3 ++- Oqtane.Client/Modules/Admin/Site/Index.razor | 3 ++- Oqtane.Client/Modules/Admin/Users/Add.razor | 3 ++- Oqtane.Client/Modules/Admin/Users/Edit.razor | 3 ++- Oqtane.Shared/Shared/Utilities.cs | 10 ---------- 5 files changed, 8 insertions(+), 14 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/Register/Index.razor b/Oqtane.Client/Modules/Admin/Register/Index.razor index 025c86c0..2f7c47e7 100644 --- a/Oqtane.Client/Modules/Admin/Register/Index.razor +++ b/Oqtane.Client/Modules/Admin/Register/Index.razor @@ -6,6 +6,7 @@ @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer @inject ISettingService SettingService +@inject ITimeZoneService TimeZoneService @if (_initialized) { @@ -114,7 +115,7 @@ { _passwordrequirements = await UserService.GetPasswordRequirementsAsync(PageState.Site.SiteId); _allowsitelogin = bool.Parse(SettingService.GetSetting(PageState.Site.Settings, "LoginOptions:AllowSiteLogin", "true")); - _timezones = Utilities.GetTimeZones(); + _timezones = TimeZoneService.GetTimeZones(); _timezoneid = PageState.Site.TimeZoneId; _initialized = true; } diff --git a/Oqtane.Client/Modules/Admin/Site/Index.razor b/Oqtane.Client/Modules/Admin/Site/Index.razor index 8b7c9ad2..67316ae4 100644 --- a/Oqtane.Client/Modules/Admin/Site/Index.razor +++ b/Oqtane.Client/Modules/Admin/Site/Index.razor @@ -10,6 +10,7 @@ @inject IAliasService AliasService @inject IThemeService ThemeService @inject ISettingService SettingService +@inject ITimeZoneService TimeZoneService @inject IServiceProvider ServiceProvider @inject IStringLocalizer Localizer @inject INotificationService NotificationService @@ -559,7 +560,7 @@ Site site = await SiteService.GetSiteAsync(PageState.Site.SiteId); if (site != null) { - _timezones = Utilities.GetTimeZones(); + _timezones = TimeZoneService.GetTimeZones(); var settings = await SettingService.GetSiteSettingsAsync(site.SiteId); _pages = await PageService.GetPagesAsync(PageState.Site.SiteId); diff --git a/Oqtane.Client/Modules/Admin/Users/Add.razor b/Oqtane.Client/Modules/Admin/Users/Add.razor index 2387e88e..cb5c7224 100644 --- a/Oqtane.Client/Modules/Admin/Users/Add.razor +++ b/Oqtane.Client/Modules/Admin/Users/Add.razor @@ -5,6 +5,7 @@ @inject IUserService UserService @inject IProfileService ProfileService @inject ISettingService SettingService +@inject ITimeZoneService TimeZoneService @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer @@ -132,7 +133,7 @@ { try { - _timezones = Utilities.GetTimeZones(); + _timezones = TimeZoneService.GetTimeZones(); _profiles = await ProfileService.GetProfilesAsync(ModuleState.SiteId); _settings = new Dictionary(); _timezoneid = PageState.Site.TimeZoneId; diff --git a/Oqtane.Client/Modules/Admin/Users/Edit.razor b/Oqtane.Client/Modules/Admin/Users/Edit.razor index 002e64df..353a474f 100644 --- a/Oqtane.Client/Modules/Admin/Users/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Users/Edit.razor @@ -6,6 +6,7 @@ @inject IProfileService ProfileService @inject ISettingService SettingService @inject IFileService FileService +@inject ITimeZoneService TimeZoneService @inject IServiceProvider ServiceProvider @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer @@ -203,7 +204,7 @@ _passwordrequirements = await UserService.GetPasswordRequirementsAsync(PageState.Site.SiteId); _togglepassword = SharedLocalizer["ShowPassword"]; _profiles = await ProfileService.GetProfilesAsync(PageState.Site.SiteId); - _timezones = Utilities.GetTimeZones(); + _timezones = TimeZoneService.GetTimeZones(); if (PageState.QueryString.ContainsKey("id") && int.TryParse(PageState.QueryString["id"], out int UserId)) { diff --git a/Oqtane.Shared/Shared/Utilities.cs b/Oqtane.Shared/Shared/Utilities.cs index f5faff87..44cccffc 100644 --- a/Oqtane.Shared/Shared/Utilities.cs +++ b/Oqtane.Shared/Shared/Utilities.cs @@ -692,16 +692,6 @@ namespace Oqtane.Shared return (localDateTime?.Date, localTime); } - public static List GetTimeZones() - { - return [.. DateTimeZoneProviders.Tzdb.GetAllZones() - .Select(tz => new TimeZone() - { - Id = tz.Id, - DisplayName = tz.Id - })]; - } - public static bool IsEffectiveAndNotExpired(DateTime? effectiveDate, DateTime? expiryDate) { DateTime currentUtcTime = DateTime.UtcNow;