From a94419a604f324305c9dbb607496a5bca9b63d04 Mon Sep 17 00:00:00 2001 From: Jorropo Date: Tue, 4 Sep 2018 16:34:01 +0200 Subject: Making password change erroring more friendly If you leave the form but the 2 password is different a big red boxappears to warn you (no need to click on the button).The submit buttonis desactivated if the 2 password isn't the same. --- .../my-account-change-password.component.html | 5 ++-- .../my-account-change-password.component.ts | 28 ++++++++++++++++------ 2 files changed, 24 insertions(+), 9 deletions(-) (limited to 'client/src/app') diff --git a/client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html b/client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html index 767ef0336..913b570cb 100644 --- a/client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html +++ b/client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html @@ -6,6 +6,7 @@
{{ formErrors['new-password'] }} @@ -13,8 +14,8 @@ - + diff --git a/client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts b/client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts index 7be7aabc2..0707d8f9a 100644 --- a/client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts +++ b/client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts @@ -12,6 +12,7 @@ import { UserValidatorsService } from '@app/shared/forms/form-validators/user-va }) export class MyAccountChangePasswordComponent extends FormReactive implements OnInit { error: string = null + unsendable = true // default to true to not have to not the if in change password constructor ( protected formValidatorService: FormValidatorService, @@ -30,18 +31,31 @@ export class MyAccountChangePasswordComponent extends FormReactive implements On }) } - changePassword () { - const newPassword = this.form.value['new-password'] - const newConfirmedPassword = this.form.value['new-confirmed-password'] - - this.error = null + validateNewPassword () { + if (this.form.value['new-password'] && this.form.value['new-confirmed-password']) { + if (this.form.value['new-password'] === this.form.value['new-confirmed-password']) { + this.error = null + this.unsendable = false + return + } + } + this.unsendable = true + } - if (newPassword !== newConfirmedPassword) { + printAnError () { + console.log(this.unsendable) + this.validateNewPassword() + if (this.unsendable) { this.error = this.i18n('The new password and the confirmed password do not correspond.') + } + } + + changePassword () { + if (this.unsendable) { return } - this.userService.changePassword(newPassword).subscribe( + this.userService.changePassword(this.form.value['new-password']).subscribe( () => this.notificationsService.success(this.i18n('Success'), this.i18n('Password updated.')), err => this.error = err.message -- cgit v1.2.3