diff options
Diffstat (limited to 'client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts')
-rw-r--r-- | client/src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts | 35 |
1 files changed, 11 insertions, 24 deletions
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 0707d8f9a..57a706b0f 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 | |||
@@ -4,6 +4,7 @@ import { FormReactive, UserService } from '../../../shared' | |||
4 | import { I18n } from '@ngx-translate/i18n-polyfill' | 4 | import { I18n } from '@ngx-translate/i18n-polyfill' |
5 | import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service' | 5 | import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service' |
6 | import { UserValidatorsService } from '@app/shared/forms/form-validators/user-validators.service' | 6 | import { UserValidatorsService } from '@app/shared/forms/form-validators/user-validators.service' |
7 | import { filter } from 'rxjs/operators' | ||
7 | 8 | ||
8 | @Component({ | 9 | @Component({ |
9 | selector: 'my-account-change-password', | 10 | selector: 'my-account-change-password', |
@@ -12,7 +13,6 @@ import { UserValidatorsService } from '@app/shared/forms/form-validators/user-va | |||
12 | }) | 13 | }) |
13 | export class MyAccountChangePasswordComponent extends FormReactive implements OnInit { | 14 | export class MyAccountChangePasswordComponent extends FormReactive implements OnInit { |
14 | error: string = null | 15 | error: string = null |
15 | unsendable = true // default to true to not have to not the if in change password | ||
16 | 16 | ||
17 | constructor ( | 17 | constructor ( |
18 | protected formValidatorService: FormValidatorService, | 18 | protected formValidatorService: FormValidatorService, |
@@ -27,36 +27,23 @@ export class MyAccountChangePasswordComponent extends FormReactive implements On | |||
27 | ngOnInit () { | 27 | ngOnInit () { |
28 | this.buildForm({ | 28 | this.buildForm({ |
29 | 'new-password': this.userValidatorsService.USER_PASSWORD, | 29 | 'new-password': this.userValidatorsService.USER_PASSWORD, |
30 | 'new-confirmed-password': this.userValidatorsService.USER_PASSWORD | 30 | 'new-confirmed-password': this.userValidatorsService.USER_CONFIRM_PASSWORD |
31 | }) | 31 | }) |
32 | } | ||
33 | 32 | ||
34 | validateNewPassword () { | 33 | const confirmPasswordControl = this.form.get('new-confirmed-password') |
35 | if (this.form.value['new-password'] && this.form.value['new-confirmed-password']) { | ||
36 | if (this.form.value['new-password'] === this.form.value['new-confirmed-password']) { | ||
37 | this.error = null | ||
38 | this.unsendable = false | ||
39 | return | ||
40 | } | ||
41 | } | ||
42 | this.unsendable = true | ||
43 | } | ||
44 | 34 | ||
45 | printAnError () { | 35 | confirmPasswordControl.valueChanges |
46 | console.log(this.unsendable) | 36 | .pipe(filter(v => v !== this.form.value[ 'new-password' ])) |
47 | this.validateNewPassword() | 37 | .subscribe(() => confirmPasswordControl.setErrors({ matchPassword: true })) |
48 | if (this.unsendable) { | ||
49 | this.error = this.i18n('The new password and the confirmed password do not correspond.') | ||
50 | } | ||
51 | } | 38 | } |
52 | 39 | ||
53 | changePassword () { | 40 | changePassword () { |
54 | if (this.unsendable) { | 41 | this.userService.changePassword(this.form.value[ 'new-password' ]).subscribe( |
55 | return | 42 | () => { |
56 | } | 43 | this.notificationsService.success(this.i18n('Success'), this.i18n('Password updated.')) |
57 | 44 | ||
58 | this.userService.changePassword(this.form.value['new-password']).subscribe( | 45 | this.form.reset() |
59 | () => this.notificationsService.success(this.i18n('Success'), this.i18n('Password updated.')), | 46 | }, |
60 | 47 | ||
61 | err => this.error = err.message | 48 | err => this.error = err.message |
62 | ) | 49 | ) |