Browse Source

Merge pull request #16943 from abpframework/AllowChangingTimeZoneSettingsFeatureSimpleStateChecker

Remove `EnableTimeZone` feature.
pull/16946/head
liangshiwei 3 years ago
committed by GitHub
parent
commit
34281eb5eb
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 24
      modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/AllowChangingTimeZoneSettingsFeatureSimpleStateChecker.cs
  2. 1
      modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs
  3. 7
      modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/TimeZoneSettingsAppService.cs
  4. 14
      modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Settings/TimeZonePageContributor.cs
  5. 3
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/en.json
  6. 3
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/tr.json
  7. 3
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hans.json
  8. 3
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement/zh-Hant.json
  9. 8
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs
  10. 2
      modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatures.cs
  11. 10
      modules/setting-management/src/Volo.Abp.SettingManagement.Web/Settings/TimeZonePageContributor.cs

24
modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/AllowChangingTimeZoneSettingsFeatureSimpleStateChecker.cs

@ -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<PermissionDefinition>
{
public async Task<bool> IsEnabledAsync(SimpleStateCheckerContext<PermissionDefinition> context)
{
var currentTenant = context.ServiceProvider.GetRequiredService<ICurrentTenant>();
if (!currentTenant.IsAvailable)
{
return true;
}
var featureChecker = context.ServiceProvider.GetRequiredService<IFeatureChecker>();
return await featureChecker.IsEnabledAsync(SettingManagementFeatures.EnableTimeZone);
}
}

1
modules/setting-management/src/Volo.Abp.SettingManagement.Application.Contracts/Volo/Abp/SettingManagement/SettingManagementPermissionDefinitionProvider.cs

@ -17,7 +17,6 @@ public class SettingManagementPermissionDefinitionProvider : PermissionDefinitio
emailPermission.AddChild(SettingManagementPermissions.EmailingTest, L("Permission:EmailingTest")); emailPermission.AddChild(SettingManagementPermissions.EmailingTest, L("Permission:EmailingTest"));
moduleGroup.AddPermission(SettingManagementPermissions.TimeZone, L("Permission:TimeZone")); moduleGroup.AddPermission(SettingManagementPermissions.TimeZone, L("Permission:TimeZone"));
emailPermission.StateCheckers.Add(new AllowChangingTimeZoneSettingsFeatureSimpleStateChecker());
} }
private static LocalizableString L(string name) private static LocalizableString L(string name)

7
modules/setting-management/src/Volo.Abp.SettingManagement.Application/Volo/Abp/SettingManagement/TimeZoneSettingsAppService.cs

@ -4,25 +4,20 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using TimeZoneConverter; using TimeZoneConverter;
using Volo.Abp.Features;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
using Volo.Abp.Settings;
using Volo.Abp.Timing; using Volo.Abp.Timing;
namespace Volo.Abp.SettingManagement; namespace Volo.Abp.SettingManagement;
[RequiresFeature(SettingManagementFeatures.EnableTimeZone)]
[Authorize(SettingManagementPermissions.TimeZone)] [Authorize(SettingManagementPermissions.TimeZone)]
public class TimeZoneSettingsAppService : SettingManagementAppServiceBase, ITimeZoneSettingsAppService public class TimeZoneSettingsAppService : SettingManagementAppServiceBase, ITimeZoneSettingsAppService
{ {
protected ISettingManager SettingManager { get; } protected ISettingManager SettingManager { get; }
protected ISettingProvider SettingProvider { get; }
protected ITimezoneProvider TimezoneProvider { get; } protected ITimezoneProvider TimezoneProvider { get; }
public TimeZoneSettingsAppService(ISettingManager settingManager, ISettingProvider settingProvider, ITimezoneProvider timezoneProvider) public TimeZoneSettingsAppService(ISettingManager settingManager, ITimezoneProvider timezoneProvider)
{ {
SettingManager = settingManager; SettingManager = settingManager;
SettingProvider = settingProvider;
TimezoneProvider = timezoneProvider; TimezoneProvider = timezoneProvider;
} }

14
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) public async Task ConfigureAsync(SettingComponentCreationContext context)
{ {
await CheckFeatureAsync(context);
var l = context.ServiceProvider.GetRequiredService<IStringLocalizer<AbpSettingManagementResource>>(); var l = context.ServiceProvider.GetRequiredService<IStringLocalizer<AbpSettingManagementResource>>();
if (context.ServiceProvider.GetRequiredService<IClock>().SupportsMultipleTimezone) if (context.ServiceProvider.GetRequiredService<IClock>().SupportsMultipleTimezone)
{ {
@ -30,20 +28,8 @@ public class TimeZonePageContributor : ISettingComponentContributor
public async Task<bool> CheckPermissionsAsync(SettingComponentCreationContext context) public async Task<bool> CheckPermissionsAsync(SettingComponentCreationContext context)
{ {
if (!await CheckFeatureAsync(context))
{
return false;
}
var authorizationService = context.ServiceProvider.GetRequiredService<IAuthorizationService>(); var authorizationService = context.ServiceProvider.GetRequiredService<IAuthorizationService>();
return await authorizationService.IsGrantedAsync(SettingManagementPermissions.TimeZone); return await authorizationService.IsGrantedAsync(SettingManagementPermissions.TimeZone);
} }
private async Task<bool> CheckFeatureAsync(SettingComponentCreationContext context)
{
var featureCheck = context.ServiceProvider.GetRequiredService<IFeatureChecker>();
return await featureCheck.IsEnabledAsync(SettingManagementFeatures.EnableTimeZone);
}
} }

3
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:SettingManagementEnable": "Enable setting management",
"Feature:SettingManagementEnableDescription": "Enable setting management system in the application.", "Feature:SettingManagementEnableDescription": "Enable setting management system in the application.",
"Feature:AllowChangingEmailSettings": "Allow changing email settings.", "Feature:AllowChangingEmailSettings": "Allow changing email settings.",
"Feature:AllowChangingEmailSettingsDescription": "Allow changing email settings.", "Feature:AllowChangingEmailSettingsDescription": "Allow changing email settings."
"Feature:EnableTimeZone": "Enable time zone"
} }
} }

3
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:SettingManagementEnable": "Ayar yönetimini etkinleştir",
"Feature:SettingManagementEnableDescription": "Uygulamada ayar yönetim sistemini etkinleştirin.", "Feature:SettingManagementEnableDescription": "Uygulamada ayar yönetim sistemini etkinleştirin.",
"Feature:AllowChangingEmailSettings": "E-posta ayarlarını değiştirmeye izin verin.", "Feature:AllowChangingEmailSettings": "E-posta ayarlarını değiştirmeye izin verin.",
"Feature:AllowChangingEmailSettingsDescription": "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"
} }
} }

3
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:SettingManagementEnable": "启用设置管理",
"Feature:SettingManagementEnableDescription": "在应用程序中启用设置管理系统.", "Feature:SettingManagementEnableDescription": "在应用程序中启用设置管理系统.",
"Feature:AllowChangingEmailSettings": "允许更改邮件设置.", "Feature:AllowChangingEmailSettings": "允许更改邮件设置.",
"Feature:AllowChangingEmailSettingsDescription": "允许更改邮件设置.", "Feature:AllowChangingEmailSettingsDescription": "允许更改邮件设置."
"Feature:EnableTimeZone": "启用时区",
} }
} }

3
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:SettingManagementEnable": "啟用設定管理",
"Feature:SettingManagementEnableDescription": "在應用程序中啟用設定管理系統.", "Feature:SettingManagementEnableDescription": "在應用程序中啟用設定管理系統.",
"Feature:AllowChangingEmailSettings": "允許更改電子郵件設置。", "Feature:AllowChangingEmailSettings": "允許更改電子郵件設置。",
"Feature:AllowChangingEmailSettingsDescription": "允許更改電子郵件設置。", "Feature:AllowChangingEmailSettingsDescription": "允許更改電子郵件設置。"
"Feature:EnableTimeZone": "啟用時區"
} }
} }

8
modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/SettingManagementFeatureDefinitionProvider.cs

@ -27,14 +27,6 @@ public class SettingManagementFeatureDefinitionProvider : FeatureDefinitionProvi
null, null,
new ToggleStringValueType(), new ToggleStringValueType(),
isAvailableToHost: false); isAvailableToHost: false);
settingEnableFeature.CreateChild(
SettingManagementFeatures.EnableTimeZone,
"false",
L("Feature:EnableTimeZone"),
null,
new ToggleStringValueType(),
isAvailableToHost: true);
} }
private static LocalizableString L(string name) private static LocalizableString L(string name)

2
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 Enable = GroupName + ".Enable";
public const string AllowChangingEmailSettings = GroupName + ".AllowChangingEmailSettings"; public const string AllowChangingEmailSettings = GroupName + ".AllowChangingEmailSettings";
public const string EnableTimeZone = GroupName + ".EnableTimeZone";
} }

10
modules/setting-management/src/Volo.Abp.SettingManagement.Web/Settings/TimeZonePageContributor.cs

@ -3,7 +3,6 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Localization; using Microsoft.Extensions.Localization;
using Volo.Abp.SettingManagement.Localization; using Volo.Abp.SettingManagement.Localization;
using Volo.Abp.SettingManagement.Web.Pages.SettingManagement; 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.SettingManagement.Web.Pages.SettingManagement.Components.TimeZoneSettingGroup;
using Volo.Abp.Timing; using Volo.Abp.Timing;
@ -11,15 +10,10 @@ namespace Volo.Abp.SettingManagement.Web.Settings;
public class TimeZonePageContributor : SettingPageContributorBase public class TimeZonePageContributor : SettingPageContributorBase
{ {
public TimeZonePageContributor()
{
RequiredFeatures(SettingManagementFeatures.EnableTimeZone);
}
public override Task ConfigureAsync(SettingPageCreationContext context) public override Task ConfigureAsync(SettingPageCreationContext context)
{ {
var l = context.ServiceProvider.GetRequiredService<IStringLocalizer<AbpSettingManagementResource>>(); var l = context.ServiceProvider.GetRequiredService<IStringLocalizer<AbpSettingManagementResource>>();
if (context.ServiceProvider.GetRequiredService<IClock>().SupportsMultipleTimezone) if (context.ServiceProvider.GetRequiredService<IClock>().SupportsMultipleTimezone)
{ {
context.Groups.Add( context.Groups.Add(
@ -33,4 +27,4 @@ public class TimeZonePageContributor : SettingPageContributorBase
return Task.CompletedTask; return Task.CompletedTask;
} }
} }

Loading…
Cancel
Save