diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/AbpSettingManagementBlazorModule.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/AbpSettingManagementBlazorModule.cs index 533e272198..d8e54353e1 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/AbpSettingManagementBlazorModule.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/AbpSettingManagementBlazorModule.cs @@ -41,6 +41,7 @@ public class AbpSettingManagementBlazorModule : AbpModule Configure(options => { options.Contributors.Add(new EmailingPageContributor()); + options.Contributors.Add(new TimeZonePageContributor()); }); Configure(options => diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/EmailingPageContributor.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/EmailingPageContributor.cs index 96a7c81a27..aec58c8ca8 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/EmailingPageContributor.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/EmailingPageContributor.cs @@ -5,9 +5,7 @@ using Microsoft.Extensions.Localization; using Volo.Abp.Features; using Volo.Abp.MultiTenancy; using Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement.EmailSettingGroup; -using Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement.TimeZoneSettingGroup; using Volo.Abp.SettingManagement.Localization; -using Volo.Abp.Timing; namespace Volo.Abp.SettingManagement.Blazor.Settings; @@ -28,17 +26,6 @@ public class EmailingPageContributor : ISettingComponentContributor typeof(EmailSettingGroupViewComponent) ) ); - - if (context.ServiceProvider.GetRequiredService().SupportsMultipleTimezone) - { - context.Groups.Add( - new SettingComponentGroup( - "Volo.Abp.TimeZone", - l["Menu:TimeZone"], - typeof(TimeZoneSettingGroupViewComponent) - ) - ); - } } public async Task CheckPermissionsAsync(SettingComponentCreationContext context) diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/TimeZonePageContributor.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/TimeZonePageContributor.cs new file mode 100644 index 0000000000..4c1c1a8bd6 --- /dev/null +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/TimeZonePageContributor.cs @@ -0,0 +1,41 @@ +using System.Threading.Tasks; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Localization; +using Volo.Abp.Features; +using Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement.TimeZoneSettingGroup; +using Volo.Abp.SettingManagement.Localization; +using Volo.Abp.Timing; + +namespace Volo.Abp.SettingManagement.Blazor.Settings; + +public class TimeZonePageContributor : ISettingComponentContributor +{ + public async Task ConfigureAsync(SettingComponentCreationContext context) + { + await CheckFeatureAsync(context); + + var l = context.ServiceProvider.GetRequiredService>(); + if (context.ServiceProvider.GetRequiredService().SupportsMultipleTimezone) + { + context.Groups.Add( + new SettingComponentGroup( + "Volo.Abp.TimeZone", + l["Menu:TimeZone"], + typeof(TimeZoneSettingGroupViewComponent) + ) + ); + } + } + + public Task CheckPermissionsAsync(SettingComponentCreationContext context) + { + return Task.FromResult(true); + } + + private async Task CheckFeatureAsync(SettingComponentCreationContext context) + { + var featureCheck = context.ServiceProvider.GetRequiredService(); + + return await featureCheck.IsEnabledAsync(SettingManagementFeatures.EnableTimeZone); + } +} \ No newline at end of file