|
|
|
@ -12,24 +12,15 @@ namespace Volo.Abp.SettingManagement
|
|
|
|
|
public override void Define(IPermissionDefinitionContext context)
|
|
|
|
|
{
|
|
|
|
|
var moduleGroup = context.AddGroup(SettingManagementPermissions.GroupName, L("Permission:SettingManagement"));
|
|
|
|
|
var emailingPermission = moduleGroup.AddPermission(SettingManagementPermissions.Emailing, L("Permission:Emailing"));
|
|
|
|
|
|
|
|
|
|
if (IsTenantAvailable(context))
|
|
|
|
|
{
|
|
|
|
|
emailingPermission.RequireFeatures(SettingManagementFeatures.AllowTenantsToChangeEmailSettings);
|
|
|
|
|
}
|
|
|
|
|
moduleGroup
|
|
|
|
|
.AddPermission(SettingManagementPermissions.Emailing, L("Permission:Emailing"))
|
|
|
|
|
.RequireFeatures(SettingManagementFeatures.AllowTenantsToChangeEmailSettings);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static LocalizableString L(string name)
|
|
|
|
|
{
|
|
|
|
|
return LocalizableString.Create<AbpSettingManagementResource>(name);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private static bool IsTenantAvailable(IPermissionDefinitionContext context)
|
|
|
|
|
{
|
|
|
|
|
var currentTenant = context.ServiceProvider.GetRequiredService<ICurrentTenant>();
|
|
|
|
|
|
|
|
|
|
return currentTenant.IsAvailable;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|