From f373329a935994cb071a99ba2f8d5be19485c463 Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Thu, 31 Mar 2022 14:22:10 +0300 Subject: [PATCH 1/2] Improve EmailSettingGroupViewComponent --- .../EmailSettingGroup/Default.cshtml | 2 +- .../EmailSettingGroupViewComponent.cs | 38 ++++++++++++++++++- .../SettingManagementWebAutoMapperProfile.cs | 3 +- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/Default.cshtml b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/Default.cshtml index 338c13f8a9..0a46e4f0fa 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/Default.cshtml +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/Default.cshtml @@ -1,7 +1,7 @@ @using Microsoft.AspNetCore.Mvc.Localization @using Volo.Abp.SettingManagement.Localization @inject IHtmlLocalizer L -@model Volo.Abp.SettingManagement.UpdateEmailSettingsDto +@model Volo.Abp.SettingManagement.Web.Pages.SettingManagement.Components.EmailSettingGroup.EmailSettingGroupViewComponent.UpdateEmailSettingsViewModel
diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/EmailSettingGroupViewComponent.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/EmailSettingGroupViewComponent.cs index f9c24e1369..b60823a621 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/EmailSettingGroupViewComponent.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/EmailSettingGroupViewComponent.cs @@ -1,6 +1,8 @@ -using System.Threading.Tasks; +using System.ComponentModel.DataAnnotations; +using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.Auditing; namespace Volo.Abp.SettingManagement.Web.Pages.SettingManagement.Components.EmailSettingGroup; @@ -17,7 +19,39 @@ public class EmailSettingGroupViewComponent : AbpViewComponent public virtual async Task InvokeAsync() { var emailSettings = await EmailSettingsAppService.GetAsync(); - var model = ObjectMapper.Map(emailSettings); + var model = ObjectMapper.Map(emailSettings); return View("~/Pages/SettingManagement/Components/EmailSettingGroup/Default.cshtml", model); } + + public class UpdateEmailSettingsViewModel + { + [MaxLength(256)] + public string SmtpHost { get; set; } + + [Range(1, 65535)] + public int SmtpPort { get; set; } + + [MaxLength(1024)] + public string SmtpUserName { get; set; } + + [MaxLength(1024)] + [DataType(DataType.Password)] + [DisableAuditing] + public string SmtpPassword { get; set; } + + [MaxLength(1024)] + public string SmtpDomain { get; set; } + + public bool SmtpEnableSsl { get; set; } + + public bool SmtpUseDefaultCredentials { get; set; } + + [MaxLength(1024)] + [Required] + public string DefaultFromAddress { get; set; } + + [MaxLength(1024)] + [Required] + public string DefaultFromDisplayName { get; set; } + } } diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/SettingManagementWebAutoMapperProfile.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/SettingManagementWebAutoMapperProfile.cs index 20ae382454..19e512da56 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/SettingManagementWebAutoMapperProfile.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/SettingManagementWebAutoMapperProfile.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Volo.Abp.SettingManagement.Web.Pages.SettingManagement.Components.EmailSettingGroup; namespace Volo.Abp.SettingManagement.Web; @@ -6,6 +7,6 @@ public class SettingManagementWebAutoMapperProfile : Profile { public SettingManagementWebAutoMapperProfile() { - CreateMap(); + CreateMap(); } } \ No newline at end of file From 55d96e41558fc6ecb7b1c95e0fe55eba65582a9c Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Thu, 31 Mar 2022 20:26:36 +0800 Subject: [PATCH 2/2] Fix localization problem --- .../AbpSettingManagementDomainSharedModule.cs | 5 +++- .../AbpSettingManagementWebModule.cs | 8 ++++++ .../EmailSettingGroup/Default.cshtml | 26 ++++++++++--------- .../EmailSettingGroupViewComponent.cs | 9 +++++++ 4 files changed, 35 insertions(+), 13 deletions(-) diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/AbpSettingManagementDomainSharedModule.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/AbpSettingManagementDomainSharedModule.cs index 012133e10b..7e19e63a2f 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/AbpSettingManagementDomainSharedModule.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Domain.Shared/Volo/Abp/SettingManagement/AbpSettingManagementDomainSharedModule.cs @@ -3,6 +3,7 @@ using Volo.Abp.Modularity; using Volo.Abp.Localization; using Volo.Abp.SettingManagement.Localization; using Volo.Abp.Validation; +using Volo.Abp.Validation.Localization; using Volo.Abp.VirtualFileSystem; namespace Volo.Abp.SettingManagement; @@ -23,7 +24,9 @@ public class AbpSettingManagementDomainSharedModule : AbpModule { options.Resources .Add("en") - .AddVirtualJson("/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement"); + .AddBaseTypes( + typeof(AbpValidationResource) + ).AddVirtualJson("/Volo/Abp/SettingManagement/Localization/Resources/AbpSettingManagement"); }); } } diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/AbpSettingManagementWebModule.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/AbpSettingManagementWebModule.cs index 6bee4b3c3d..61874c0b6b 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/AbpSettingManagementWebModule.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/AbpSettingManagementWebModule.cs @@ -1,10 +1,12 @@ using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; using Volo.Abp.AutoMapper; using Volo.Abp.Http.ProxyScripting.Generators.JQuery; using Volo.Abp.Modularity; +using Volo.Abp.SettingManagement.Localization; using Volo.Abp.SettingManagement.Web.Navigation; using Volo.Abp.SettingManagement.Web.Pages.SettingManagement; using Volo.Abp.SettingManagement.Web.Settings; @@ -23,6 +25,11 @@ public class AbpSettingManagementWebModule : AbpModule { public override void PreConfigureServices(ServiceConfigurationContext context) { + context.Services.PreConfigure(options => + { + options.AddAssemblyResource(typeof(AbpSettingManagementResource), typeof(AbpSettingManagementWebModule).Assembly); + }); + PreConfigure(mvcBuilder => { mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpSettingManagementWebModule).Assembly); @@ -31,6 +38,7 @@ public class AbpSettingManagementWebModule : AbpModule public override void ConfigureServices(ServiceConfigurationContext context) { + Configure(options => { options.MenuContributors.Add(new SettingManagementMainMenuContributor()); diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/Default.cshtml b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/Default.cshtml index 0a46e4f0fa..e5d20309f6 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/Default.cshtml +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/Default.cshtml @@ -7,22 +7,24 @@
- - - - - - + + + + + +
- - - + + +
-
+
- @L["Save"] + + @L["Save"] +
- + \ No newline at end of file diff --git a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/EmailSettingGroupViewComponent.cs b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/EmailSettingGroupViewComponent.cs index b60823a621..83458b28e2 100644 --- a/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/EmailSettingGroupViewComponent.cs +++ b/modules/setting-management/src/Volo.Abp.SettingManagement.Web/Pages/SettingManagement/Components/EmailSettingGroup/EmailSettingGroupViewComponent.cs @@ -26,32 +26,41 @@ public class EmailSettingGroupViewComponent : AbpViewComponent public class UpdateEmailSettingsViewModel { [MaxLength(256)] + [Display(Name = "SmtpHost")] public string SmtpHost { get; set; } [Range(1, 65535)] + [Display(Name = "SmtpPort")] public int SmtpPort { get; set; } [MaxLength(1024)] + [Display(Name = "SmtpUserName")] public string SmtpUserName { get; set; } [MaxLength(1024)] [DataType(DataType.Password)] [DisableAuditing] + [Display(Name = "SmtpPassword")] public string SmtpPassword { get; set; } [MaxLength(1024)] + [Display(Name = "SmtpDomain")] public string SmtpDomain { get; set; } + [Display(Name = "SmtpEnableSsl")] public bool SmtpEnableSsl { get; set; } + [Display(Name = "SmtpUseDefaultCredentials")] public bool SmtpUseDefaultCredentials { get; set; } [MaxLength(1024)] [Required] + [Display(Name = "DefaultFromAddress")] public string DefaultFromAddress { get; set; } [MaxLength(1024)] [Required] + [Display(Name = "DefaultFromDisplayName")] public string DefaultFromDisplayName { get; set; } } }