Browse Source

some requested changes resolved

pull/3107/head
Ahmet Çotur 7 years ago
parent
commit
1d53bee97a
  1. 20
      modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts/Volo/Abp/TenantManagement/TenantCreateDto.cs
  2. 5
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/en.json
  3. 5
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/tr.json
  4. 4
      modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/TenantConsts.cs
  5. 6
      modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/CreateModal.cshtml
  6. 5
      modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/CreateModal.cshtml.cs

20
modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts/Volo/Abp/TenantManagement/TenantCreateDto.cs

@ -7,28 +7,10 @@ using Volo.Abp.TenantManagement.Localization;
namespace Volo.Abp.TenantManagement namespace Volo.Abp.TenantManagement
{ {
public class TenantCreateDto : TenantCreateOrUpdateDtoBase, IValidatableObject public class TenantCreateDto : TenantCreateOrUpdateDtoBase
{ {
public string AdminEmailAddress { get; set; } public string AdminEmailAddress { get; set; }
public string AdminPassword { get; set; } public string AdminPassword { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
var l = validationContext.GetRequiredService<IStringLocalizer<AbpTenantManagementResource>>();
var isValidEmail =
Regex.IsMatch(AdminEmailAddress, TenantConsts.EmailRegex, RegexOptions.IgnoreCase);
if (string.IsNullOrWhiteSpace(AdminEmailAddress) || !isValidEmail)
{
yield return new ValidationResult(l["InvalidAdminProperties"], new[] { nameof(AdminEmailAddress) });
}
if (string.IsNullOrWhiteSpace(AdminPassword))
{
yield return new ValidationResult(l["InvalidAdminProperties"], new[] { nameof(AdminPassword) });
}
}
} }
} }

5
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/en.json

@ -15,9 +15,6 @@
"Permission:Edit": "Edit", "Permission:Edit": "Edit",
"Permission:Delete": "Delete", "Permission:Delete": "Delete",
"Permission:ManageConnectionStrings": "Manage connection strings", "Permission:ManageConnectionStrings": "Manage connection strings",
"Permission:ManageFeatures": "Manage features", "Permission:ManageFeatures": "Manage features"
"DisplayName:AdminEmailAddress": "Admin Email Address",
"DisplayName:AdminPassword": "Admin Password",
"InvalidAdminProperties": "Admin email address or password is invalid."
} }
} }

5
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/Localization/Resources/tr.json

@ -15,9 +15,6 @@
"Permission:Edit": "Düzenleme", "Permission:Edit": "Düzenleme",
"Permission:Delete": "Silme", "Permission:Delete": "Silme",
"Permission:ManageConnectionStrings": "Bağlantı cümlelerini yönet", "Permission:ManageConnectionStrings": "Bağlantı cümlelerini yönet",
"Permission:ManageFeatures": "Özellikleri yönet", "Permission:ManageFeatures": "Özellikleri yönet"
"DisplayName:AdminEmailAddress": "Yönetici Eposta Adresi",
"DisplayName:AdminPassword": "Yönetici Şifresi",
"InvalidAdminProperties": "Admin eposta adresi veya şifre geçerli değil."
} }
} }

4
modules/tenant-management/src/Volo.Abp.TenantManagement.Domain.Shared/Volo/Abp/TenantManagement/TenantConsts.cs

@ -3,9 +3,5 @@
public static class TenantConsts public static class TenantConsts
{ {
public const int MaxNameLength = 64; public const int MaxNameLength = 64;
public const string EmailRegex =
@"^(?("")("".+?(?<!\\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" +
@"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-0-9a-z]*[0-9a-z]*\.)+[a-z0-9][\-a-z0-9]{0,22}[a-z0-9]))$";
} }
} }

6
modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/CreateModal.cshtml

@ -12,11 +12,11 @@
<abp-modal> <abp-modal>
<abp-modal-header title="@L["NewTenant"]"></abp-modal-header> <abp-modal-header title="@L["NewTenant"]"></abp-modal-header>
<abp-modal-body> <abp-modal-body>
<abp-input asp-for="Tenant.Name" label="@L["TenantName"].Value" /> <abp-input asp-for="Tenant.Name" />
<abp-input asp-for="Tenant.AdminEmailAddress" label="@L["DisplayName:AdminEmailAddress"].Value" /> <abp-input asp-for="Tenant.AdminEmailAddress" />
<abp-input asp-for="Tenant.AdminPassword" label="@L["DisplayName:AdminPassword"].Value" /> <abp-input asp-for="Tenant.AdminPassword" />
</abp-modal-body> </abp-modal-body>
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer> <abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer>
</abp-modal> </abp-modal>

5
modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/CreateModal.cshtml.cs

@ -31,18 +31,15 @@ namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants
{ {
[Required] [Required]
[StringLength(TenantConsts.MaxNameLength)] [StringLength(TenantConsts.MaxNameLength)]
[Display(Name = "DisplayName:TenantName")]
public string Name { get; set; } public string Name { get; set; }
[Required] [Required]
[EmailAddress]
[StringLength(TenantConsts.MaxNameLength)] [StringLength(TenantConsts.MaxNameLength)]
[Display(Name = "DisplayName:AdminEmailAddress")]
public string AdminEmailAddress { get; set; } public string AdminEmailAddress { get; set; }
[Required] [Required]
[StringLength(TenantConsts.MaxNameLength)] [StringLength(TenantConsts.MaxNameLength)]
[EmailAddress]
[Display(Name = "DisplayName:AdminPassword")]
public string AdminPassword { get; set; } public string AdminPassword { get; set; }
} }
} }

Loading…
Cancel
Save