From f373329a935994cb071a99ba2f8d5be19485c463 Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Thu, 31 Mar 2022 14:22:10 +0300 Subject: [PATCH] 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