diff --git a/Wave/Components/Account/Pages/Manage/ChangePassword.razor b/Wave/Components/Account/Pages/Manage/ChangePassword.razor index b272d7b..e4daaf3 100644 --- a/Wave/Components/Account/Pages/Manage/ChangePassword.razor +++ b/Wave/Components/Account/Pages/Manage/ChangePassword.razor @@ -9,74 +9,71 @@ @inject IdentityUserAccessor UserAccessor @inject IdentityRedirectManager RedirectManager @inject ILogger Logger +@inject IStringLocalizer Localizer -Change password +@Localizer["Title"] -

Change password

- -
-
+ + + - -
- - - -
-
- - - -
-
- - - -
- + + + + + + + + + + + +
-
-
+ + @code { - private string? message; - private ApplicationUser user = default!; - private bool hasPassword; - [CascadingParameter] private HttpContext HttpContext { get; set; } = default!; [SupplyParameterFromForm] private InputModel Input { get; set; } = new(); - protected override async Task OnInitializedAsync() - { - user = await UserAccessor.GetRequiredUserAsync(HttpContext); - hasPassword = await UserManager.HasPasswordAsync(user); - if (!hasPassword) - { + private string? Message { get; set; } + private ApplicationUser User { get; set; } = default!; + private bool HasPassword { get; set; } + + protected override async Task OnInitializedAsync() { + User = await UserAccessor.GetRequiredUserAsync(HttpContext); + HasPassword = await UserManager.HasPasswordAsync(User); + + if (!HasPassword) { RedirectManager.RedirectTo("Account/Manage/SetPassword"); } } - private async Task OnValidSubmitAsync() - { - var changePasswordResult = await UserManager.ChangePasswordAsync(user, Input.OldPassword, Input.NewPassword); - if (!changePasswordResult.Succeeded) - { - message = $"Error: {string.Join(",", changePasswordResult.Errors.Select(error => error.Description))}"; + private async Task OnValidSubmitAsync() { + var changePasswordResult = await UserManager.ChangePasswordAsync(User, Input.OldPassword, Input.NewPassword); + + if (!changePasswordResult.Succeeded) { + Message = $"Error: {string.Join(",", changePasswordResult.Errors.Select(error => error.Description))}"; return; } - await SignInManager.RefreshSignInAsync(user); + await SignInManager.RefreshSignInAsync(User); Logger.LogInformation("User changed their password successfully."); - RedirectManager.RedirectToCurrentPageWithStatus("Your password has been changed", HttpContext); + RedirectManager.RedirectToCurrentPageWithStatus(Localizer["ChangePassword_Success"], HttpContext); } - private sealed class InputModel - { + private sealed class InputModel { [Required] [DataType(DataType.Password)] [Display(Name = "Current password")] diff --git a/Wave/Resources/Components/Account/Pages/Manage/ChangePassword.de-DE.resx b/Wave/Resources/Components/Account/Pages/Manage/ChangePassword.de-DE.resx new file mode 100644 index 0000000..d8bb70b --- /dev/null +++ b/Wave/Resources/Components/Account/Pages/Manage/ChangePassword.de-DE.resx @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Passwort Verwalten + + + Passwort Ändern + + + Passwort erfolgreich geändert + + + Aktuelles Passwort + + + Neues Passwort + + + Neues Passwort wiederholen + + + Geben Sie ihr aktuelles Passwort ein + + + Geben Sie ihr neues Passwort ein + + + Bestätigen Sie ihr neues Passwort + + \ No newline at end of file diff --git a/Wave/Resources/Components/Account/Pages/Manage/ChangePassword.en-GB.resx b/Wave/Resources/Components/Account/Pages/Manage/ChangePassword.en-GB.resx new file mode 100644 index 0000000..4fdb1b6 --- /dev/null +++ b/Wave/Resources/Components/Account/Pages/Manage/ChangePassword.en-GB.resx @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Wave/Resources/Components/Account/Pages/Manage/ChangePassword.resx b/Wave/Resources/Components/Account/Pages/Manage/ChangePassword.resx new file mode 100644 index 0000000..48a003e --- /dev/null +++ b/Wave/Resources/Components/Account/Pages/Manage/ChangePassword.resx @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 1.3 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Manage Password + + + Current password + + + Enter your current password + + + New password + + + Enter your new password + + + Confirm new password + + + Confirm your new Password + + + Change Password + + + Successfully changed password + + \ No newline at end of file