]>
Commit | Line | Data |
---|---|---|
629d8d6f C |
1 | import { Control, ControlGroup, Validators } from '@angular/common'; |
2 | import { Component, OnInit } from '@angular/core'; | |
3 | import { Router } from '@angular/router'; | |
4 | ||
5 | import { AccountService } from './account.service'; | |
6 | ||
7 | @Component({ | |
8 | selector: 'my-account', | |
9 | template: require('./account.component.html'), | |
10 | providers: [ AccountService ] | |
11 | }) | |
12 | ||
13 | export class AccountComponent implements OnInit { | |
14 | changePasswordForm: ControlGroup; | |
15 | information: string = null; | |
16 | error: string = null; | |
17 | ||
18 | constructor( | |
19 | private accountService: AccountService, | |
20 | private router: Router | |
21 | ) {} | |
22 | ||
23 | ngOnInit() { | |
24 | this.changePasswordForm = new ControlGroup({ | |
25 | newPassword: new Control('', Validators.compose([ Validators.required, Validators.minLength(6) ])), | |
26 | newConfirmedPassword: new Control('', Validators.compose([ Validators.required, Validators.minLength(6) ])), | |
27 | }); | |
28 | } | |
29 | ||
30 | changePassword(newPassword: string, newConfirmedPassword: string) { | |
31 | this.information = null; | |
32 | this.error = null; | |
33 | ||
34 | if (newPassword !== newConfirmedPassword) { | |
35 | this.error = 'The new password and the confirmed password do not correspond.'; | |
36 | return; | |
37 | } | |
38 | ||
39 | this.accountService.changePassword(newPassword).subscribe( | |
40 | ok => this.information = 'Password updated.', | |
41 | ||
42 | err => this.error = err | |
43 | ); | |
44 | } | |
45 | } |