pull/598/head
Alper Ebicoglu 7 years ago
parent 7783cd0126
commit 80ecf09671

@ -1,4 +1,4 @@
namespace Volo.Abp.Identity
namespace Volo.Abp.Identity.Settings
{
public static class IdentitySettingNames
{
@ -32,5 +32,13 @@
public const string RequireConfirmedEmail = SignInPrefix + ".RequireConfirmedEmail";
public const string RequireConfirmedPhoneNumber = SignInPrefix + ".RequireConfirmedPhoneNumber";
}
public static class User
{
private const string UserPrefix = Prefix + ".User";
public const string IsUserNameUpdateEnabled = UserPrefix + ".IsUserNameUpdateEnabled";
public const string IsEmailUpdateEnabled = UserPrefix + ".IsEmailUpdateEnabled";
}
}
}

@ -2,6 +2,7 @@
using System.Collections.Generic;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Options;
using Volo.Abp.Identity.Settings;
using Volo.Abp.Options;
using Volo.Abp.Settings;

@ -1,4 +1,5 @@
using Volo.Abp.Settings;
using Volo.Abp.Identity.Settings;
using Volo.Abp.Settings;
namespace Volo.Abp.Identity
{
@ -20,7 +21,10 @@ namespace Volo.Abp.Identity
new SettingDefinition(IdentitySettingNames.Lockout.MaxFailedAccessAttempts),
new SettingDefinition(IdentitySettingNames.SignIn.RequireConfirmedEmail),
new SettingDefinition(IdentitySettingNames.SignIn.RequireConfirmedPhoneNumber)
new SettingDefinition(IdentitySettingNames.SignIn.RequireConfirmedPhoneNumber),
new SettingDefinition(IdentitySettingNames.User.IsUserNameUpdateEnabled),
new SettingDefinition(IdentitySettingNames.User.IsEmailUpdateEnabled)
);
}

@ -9,12 +9,27 @@
Layout = null;
}
<abp-dynamic-form abp-model="@Model.PersonalSettingsInfoModel" asp-page="/Identity/Shared/PersonalSettingsModal">
<form asp-page="/Identity/Shared/PersonalSettingsModal">
<abp-modal>
<abp-modal-header title="@L["PersonalInfo"].Value"></abp-modal-header>
<abp-modal-body>
<abp-form-content />
<abp-input asp-for="PersonalSettingsInfoModel.UserName" readonly="Model.IsUsernameUpdateDisabled" />
<abp-row>
<abp-column size-md="_6">
<abp-input asp-for="PersonalSettingsInfoModel.Name" />
</abp-column>
<abp-column size-md="_6">
<abp-input asp-for="PersonalSettingsInfoModel.Surname" />
</abp-column>
</abp-row>
<abp-input asp-for="PersonalSettingsInfoModel.Email" readonly="Model.IsEmailUpdateDisabled" />
<abp-input asp-for="PersonalSettingsInfoModel.PhoneNumber" />
</abp-modal-body>
<abp-modal-footer buttons="@(AbpModalButtons.Cancel|AbpModalButtons.Save)"></abp-modal-footer>
</abp-modal>
</abp-dynamic-form>
</form>

@ -1,10 +1,10 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.Security.Authentication;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Localization;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Abp.Identity.Localization;
using Volo.Abp.Identity.Settings;
using Volo.Abp.Settings;
namespace Volo.Abp.Identity.Web.Pages.Identity.Shared
{
@ -13,6 +13,18 @@ namespace Volo.Abp.Identity.Web.Pages.Identity.Shared
[BindProperty]
public PersonalSettingsInfoModel PersonalSettingsInfoModel { get; set; }
[BindProperty]
public PersonalSettingsInfoModel PersonalSettingsInfoModel2 { get; set; }
public bool IsUsernameUpdateDisabled => !string.Equals(
SettingManager.GetOrNull(IdentitySettingNames.User.IsUserNameUpdateEnabled), "true",
StringComparison.OrdinalIgnoreCase);
public bool IsEmailUpdateDisabled => !string.Equals(
SettingManager.GetOrNull(IdentitySettingNames.User.IsEmailUpdateEnabled), "true",
StringComparison.OrdinalIgnoreCase);
private readonly IProfileAppService _profileAppService;
public PersonalSettingsModal(IProfileAppService profileAppService)
@ -33,6 +45,24 @@ namespace Volo.Abp.Identity.Web.Pages.Identity.Shared
var updateDto = ObjectMapper.Map<PersonalSettingsInfoModel, UpdateProfileDto>(PersonalSettingsInfoModel);
ProfileDto user = null;
if (IsUsernameUpdateDisabled )
{
user = await _profileAppService.GetAsync();
updateDto.UserName = user.UserName;
}
if (IsEmailUpdateDisabled)
{
if (user == null)
{
user = await _profileAppService.GetAsync();
}
updateDto.Email = user.Email;
}
await _profileAppService.UpdateAsync(updateDto);
return NoContent();

@ -5,6 +5,7 @@ using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;
using NSubstitute;
using Shouldly;
using Volo.Abp.Identity.Settings;
using Volo.Abp.Settings;
using Xunit;

Loading…
Cancel
Save