From ab65edd7f20c2a98cb5b42f168fa1bcf07102317 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 23 Jun 2023 09:34:41 +0800 Subject: [PATCH 1/3] Remove `AllowChangingTimeZoneSettingsFeatureSimpleStateChecker`. --- ...meZoneSettingsFeatureSimpleStateChecker.cs | 24 ------------------- ...gManagementPermissionDefinitionProvider.cs | 4 ++-- .../TimeZoneSettingsAppService.cs | 4 +--- 3 files changed, 3 insertions(+), 29 deletions(-) delete mode 100644 modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/AllowChangingTimeZoneSettingsFeatureSimpleStateChecker.cs diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/AllowChangingTimeZoneSettingsFeatureSimpleStateChecker.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/AllowChangingTimeZoneSettingsFeatureSimpleStateChecker.cs deleted file mode 100644 index b6d50f2046..0000000000 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/AllowChangingTimeZoneSettingsFeatureSimpleStateChecker.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.Authorization.Permissions; -using Volo.Abp.Features; -using Volo.Abp.MultiTenancy; -using Volo.Abp.SimpleStateChecking; - -namespace Volo.Abp.SettingManagement; - -public class AllowChangingTimeZoneSettingsFeatureSimpleStateChecker : ISimpleStateChecker -{ - public async Task IsEnabledAsync(SimpleStateCheckerContext context) - { - var currentTenant = context.ServiceProvider.GetRequiredService(); - - if (!currentTenant.IsAvailable) - { - return true; - } - - var featureChecker = context.ServiceProvider.GetRequiredService(); - return await featureChecker.IsEnabledAsync(SettingManagementFeatures.EnableTimeZone); - } -} diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs index 6270460623..bac701a653 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs @@ -1,4 +1,5 @@ using Volo.Abp.Authorization.Permissions; +using Volo.Abp.Features; using Volo.Abp.Localization; using Volo.Abp.SettingManagement.Localization; @@ -16,8 +17,7 @@ public class SettingManagementPermissionDefinitionProvider : PermissionDefinitio emailPermission.AddChild(SettingManagementPermissions.EmailingTest, L("Permission:EmailingTest")); - moduleGroup.AddPermission(SettingManagementPermissions.TimeZone, L("Permission:TimeZone")); - emailPermission.StateCheckers.Add(new AllowChangingTimeZoneSettingsFeatureSimpleStateChecker()); + moduleGroup.AddPermission(SettingManagementPermissions.TimeZone, L("Permission:TimeZone")).RequireFeatures(SettingManagementFeatures.EnableTimeZone); } private static LocalizableString L(string name) diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/TimeZoneSettingsAppService.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/TimeZoneSettingsAppService.cs index 423840284e..ea8035cf76 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/TimeZoneSettingsAppService.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/TimeZoneSettingsAppService.cs @@ -16,13 +16,11 @@ namespace Volo.Abp.SettingManagement; public class TimeZoneSettingsAppService : SettingManagementAppServiceBase, ITimeZoneSettingsAppService { protected ISettingManager SettingManager { get; } - protected ISettingProvider SettingProvider { get; } protected ITimezoneProvider TimezoneProvider { get; } - public TimeZoneSettingsAppService(ISettingManager settingManager, ISettingProvider settingProvider, ITimezoneProvider timezoneProvider) + public TimeZoneSettingsAppService(ISettingManager settingManager, ITimezoneProvider timezoneProvider) { SettingManager = settingManager; - SettingProvider = settingProvider; TimezoneProvider = timezoneProvider; } From 323699713a775ec3f8abc29ea5a6103914dbac83 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 23 Jun 2023 09:46:32 +0800 Subject: [PATCH 2/3] Remove `EnableTimeZone` feature. --- ...ettingManagementPermissionDefinitionProvider.cs | 3 --- .../TimeZoneSettingsAppService.cs | 3 --- .../Settings/TimeZonePageContributor.cs | 14 -------------- .../Resources/AbpSettingManagement/en.json | 3 +-- .../Resources/AbpSettingManagement/tr.json | 3 +-- .../Resources/AbpSettingManagement/zh-Hans.json | 3 +-- .../Resources/AbpSettingManagement/zh-Hant.json | 3 +-- .../SettingManagementFeatureDefinitionProvider.cs | 8 -------- .../SettingManagement/SettingManagementFeatures.cs | 2 -- .../Settings/TimeZonePageContributor.cs | 10 ++-------- 10 files changed, 6 insertions(+), 46 deletions(-) diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs index bac701a653..db0b8dd907 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs @@ -1,5 +1,4 @@ using Volo.Abp.Authorization.Permissions; -using Volo.Abp.Features; using Volo.Abp.Localization; using Volo.Abp.SettingManagement.Localization; @@ -16,8 +15,6 @@ public class SettingManagementPermissionDefinitionProvider : PermissionDefinitio emailPermission.StateCheckers.Add(new AllowChangingEmailSettingsFeatureSimpleStateChecker()); emailPermission.AddChild(SettingManagementPermissions.EmailingTest, L("Permission:EmailingTest")); - - moduleGroup.AddPermission(SettingManagementPermissions.TimeZone, L("Permission:TimeZone")).RequireFeatures(SettingManagementFeatures.EnableTimeZone); } private static LocalizableString L(string name) diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/TimeZoneSettingsAppService.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/TimeZoneSettingsAppService.cs index ea8035cf76..d746a0c097 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/TimeZoneSettingsAppService.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/TimeZoneSettingsAppService.cs @@ -4,14 +4,11 @@ using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using TimeZoneConverter; -using Volo.Abp.Features; using Volo.Abp.MultiTenancy; -using Volo.Abp.Settings; using Volo.Abp.Timing; namespace Volo.Abp.SettingManagement; -[RequiresFeature(SettingManagementFeatures.EnableTimeZone)] [Authorize(SettingManagementPermissions.TimeZone)] public class TimeZoneSettingsAppService : SettingManagementAppServiceBase, ITimeZoneSettingsAppService { 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 index cd1b2dd13a..6effd64494 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/TimeZonePageContributor.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/TimeZonePageContributor.cs @@ -13,8 +13,6 @@ public class TimeZonePageContributor : ISettingComponentContributor { public async Task ConfigureAsync(SettingComponentCreationContext context) { - await CheckFeatureAsync(context); - var l = context.ServiceProvider.GetRequiredService>(); if (context.ServiceProvider.GetRequiredService().SupportsMultipleTimezone) { @@ -30,20 +28,8 @@ public class TimeZonePageContributor : ISettingComponentContributor public async Task CheckPermissionsAsync(SettingComponentCreationContext context) { - if (!await CheckFeatureAsync(context)) - { - return false; - } - var authorizationService = context.ServiceProvider.GetRequiredService(); return await authorizationService.IsGrantedAsync(SettingManagementPermissions.TimeZone); } - - private async Task CheckFeatureAsync(SettingComponentCreationContext context) - { - var featureCheck = context.ServiceProvider.GetRequiredService(); - - return await featureCheck.IsEnabledAsync(SettingManagementFeatures.EnableTimeZone); - } } diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/en.json b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/en.json index b2c9bc0b11..da6632c2bf 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/en.json +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/en.json @@ -32,7 +32,6 @@ "Feature:SettingManagementEnable": "Enable setting management", "Feature:SettingManagementEnableDescription": "Enable setting management system in the application.", "Feature:AllowChangingEmailSettings": "Allow changing email settings.", - "Feature:AllowChangingEmailSettingsDescription": "Allow changing email settings.", - "Feature:EnableTimeZone": "Enable time zone" + "Feature:AllowChangingEmailSettingsDescription": "Allow changing email settings." } } diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/tr.json b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/tr.json index 4db9d13242..756c9f000d 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/tr.json +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/tr.json @@ -32,7 +32,6 @@ "Feature:SettingManagementEnable": "Ayar yönetimini etkinleştir", "Feature:SettingManagementEnableDescription": "Uygulamada ayar yönetim sistemini etkinleştirin.", "Feature:AllowChangingEmailSettings": "E-posta ayarlarını değiştirmeye izin verin.", - "Feature:AllowChangingEmailSettingsDescription": "E-posta ayarlarını değiştirmeye izin verin.", - "Feature:EnableTimeZone": "Zaman dilimini etkinleştir" + "Feature:AllowChangingEmailSettingsDescription": "E-posta ayarlarını değiştirmeye izin verin." } } diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hans.json b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hans.json index d988cd639f..d229235563 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hans.json +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hans.json @@ -32,7 +32,6 @@ "Feature:SettingManagementEnable": "启用设置管理", "Feature:SettingManagementEnableDescription": "在应用程序中启用设置管理系统.", "Feature:AllowChangingEmailSettings": "允许更改邮件设置.", - "Feature:AllowChangingEmailSettingsDescription": "允许更改邮件设置.", - "Feature:EnableTimeZone": "启用时区", + "Feature:AllowChangingEmailSettingsDescription": "允许更改邮件设置." } } diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hant.json b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hant.json index 87de5451b8..77210e06c9 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hant.json +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hant.json @@ -32,7 +32,6 @@ "Feature:SettingManagementEnable": "啟用設定管理", "Feature:SettingManagementEnableDescription": "在應用程序中啟用設定管理系統.", "Feature:AllowChangingEmailSettings": "允許更改電子郵件設置。", - "Feature:AllowChangingEmailSettingsDescription": "允許更改電子郵件設置。", - "Feature:EnableTimeZone": "啟用時區" + "Feature:AllowChangingEmailSettingsDescription": "允許更改電子郵件設置。" } } diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs index b0f6abb06e..6800ce4e2b 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs @@ -27,14 +27,6 @@ public class SettingManagementFeatureDefinitionProvider : FeatureDefinitionProvi null, new ToggleStringValueType(), isAvailableToHost: false); - - settingEnableFeature.CreateChild( - SettingManagementFeatures.EnableTimeZone, - "false", - L("Feature:EnableTimeZone"), - null, - new ToggleStringValueType(), - isAvailableToHost: true); } private static LocalizableString L(string name) diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatures.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatures.cs index dfb525baa2..3769852bed 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatures.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatures.cs @@ -7,6 +7,4 @@ public class SettingManagementFeatures public const string Enable = GroupName + ".Enable"; public const string AllowChangingEmailSettings = GroupName + ".AllowChangingEmailSettings"; - - public const string EnableTimeZone = GroupName + ".EnableTimeZone"; } diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Settings/TimeZonePageContributor.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Settings/TimeZonePageContributor.cs index a7a7674b08..1973e51289 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Settings/TimeZonePageContributor.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Settings/TimeZonePageContributor.cs @@ -3,7 +3,6 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Localization; using Volo.Abp.SettingManagement.Localization; using Volo.Abp.SettingManagement.Web.Pages.SettingManagement; -using Volo.Abp.SettingManagement.Web.Pages.SettingManagement.Components.EmailSettingGroup; using Volo.Abp.SettingManagement.Web.Pages.SettingManagement.Components.TimeZoneSettingGroup; using Volo.Abp.Timing; @@ -11,15 +10,10 @@ namespace Volo.Abp.SettingManagement.Web.Settings; public class TimeZonePageContributor : SettingPageContributorBase { - public TimeZonePageContributor() - { - RequiredFeatures(SettingManagementFeatures.EnableTimeZone); - } - public override Task ConfigureAsync(SettingPageCreationContext context) { var l = context.ServiceProvider.GetRequiredService>(); - + if (context.ServiceProvider.GetRequiredService().SupportsMultipleTimezone) { context.Groups.Add( @@ -33,4 +27,4 @@ public class TimeZonePageContributor : SettingPageContributorBase return Task.CompletedTask; } -} \ No newline at end of file +} From 9badc3836bea4ba8485c230e4b268cca179062b1 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 23 Jun 2023 09:50:25 +0800 Subject: [PATCH 3/3] Update SettingManagementPermissionDefinitionProvider.cs --- .../SettingManagementPermissionDefinitionProvider.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs index db0b8dd907..7e65d3f631 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs @@ -15,6 +15,8 @@ public class SettingManagementPermissionDefinitionProvider : PermissionDefinitio emailPermission.StateCheckers.Add(new AllowChangingEmailSettingsFeatureSimpleStateChecker()); emailPermission.AddChild(SettingManagementPermissions.EmailingTest, L("Permission:EmailingTest")); + + moduleGroup.AddPermission(SettingManagementPermissions.TimeZone, L("Permission:TimeZone")); } private static LocalizableString L(string name)