diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2016-08-09 21:45:21 +0200 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2016-08-09 21:45:21 +0200 |
commit | 7da18e4420c4b71a8ecfda07f39324fbfec081c3 (patch) | |
tree | 2755feedd730a78cdc407e7a79bcbfce3ebe71c8 /client/src/app/admin/users/user-add | |
parent | 68a3b9f2aacb0225ae8b883b561b144bac339cbd (diff) | |
download | PeerTube-7da18e4420c4b71a8ecfda07f39324fbfec081c3.tar.gz PeerTube-7da18e4420c4b71a8ecfda07f39324fbfec081c3.tar.zst PeerTube-7da18e4420c4b71a8ecfda07f39324fbfec081c3.zip |
Client: add user management
Diffstat (limited to 'client/src/app/admin/users/user-add')
-rw-r--r-- | client/src/app/admin/users/user-add/index.ts | 1 | ||||
-rw-r--r-- | client/src/app/admin/users/user-add/user-add.component.html | 29 | ||||
-rw-r--r-- | client/src/app/admin/users/user-add/user-add.component.ts | 33 |
3 files changed, 63 insertions, 0 deletions
diff --git a/client/src/app/admin/users/user-add/index.ts b/client/src/app/admin/users/user-add/index.ts new file mode 100644 index 000000000..66d5ca04f --- /dev/null +++ b/client/src/app/admin/users/user-add/index.ts | |||
@@ -0,0 +1 @@ | |||
export * from './user-add.component'; | |||
diff --git a/client/src/app/admin/users/user-add/user-add.component.html b/client/src/app/admin/users/user-add/user-add.component.html new file mode 100644 index 000000000..aa102358a --- /dev/null +++ b/client/src/app/admin/users/user-add/user-add.component.html | |||
@@ -0,0 +1,29 @@ | |||
1 | <h3>Add user</h3> | ||
2 | |||
3 | <div *ngIf="error" class="alert alert-danger">{{ error }}</div> | ||
4 | |||
5 | <form role="form" (ngSubmit)="addUser(username.value, password.value)" #addUserForm="ngForm"> | ||
6 | <div class="form-group"> | ||
7 | <label for="username">Username</label> | ||
8 | <input | ||
9 | type="text" class="form-control" name="username" id="username" placeholder="Username" required | ||
10 | ngControl="username" #username="ngForm" | ||
11 | > | ||
12 | <div [hidden]="username.valid || username.pristine" class="alert alert-danger"> | ||
13 | Username is required with a length >= 3 and <= 20 | ||
14 | </div> | ||
15 | </div> | ||
16 | |||
17 | <div class="form-group"> | ||
18 | <label for="password">Password</label> | ||
19 | <input | ||
20 | type="password" class="form-control" name="password" id="password" placeholder="Password" required | ||
21 | ngControl="password" #password="ngForm" | ||
22 | > | ||
23 | <div [hidden]="password.valid || password.pristine" class="alert alert-danger"> | ||
24 | Password is required with a length >= 6 | ||
25 | </div> | ||
26 | </div> | ||
27 | |||
28 | <input type="submit" value="Add user" class="btn btn-default" [disabled]="!addUserForm.form.valid"> | ||
29 | </form> | ||
diff --git a/client/src/app/admin/users/user-add/user-add.component.ts b/client/src/app/admin/users/user-add/user-add.component.ts new file mode 100644 index 000000000..30ca947a0 --- /dev/null +++ b/client/src/app/admin/users/user-add/user-add.component.ts | |||
@@ -0,0 +1,33 @@ | |||
1 | import { Control, ControlGroup, Validators } from '@angular/common'; | ||
2 | import { Component, OnInit } from '@angular/core'; | ||
3 | import { Router } from '@angular/router'; | ||
4 | |||
5 | import { UserService } from '../shared'; | ||
6 | |||
7 | @Component({ | ||
8 | selector: 'my-user-add', | ||
9 | template: require('./user-add.component.html'), | ||
10 | }) | ||
11 | export class UserAddComponent implements OnInit { | ||
12 | userAddForm: ControlGroup; | ||
13 | error: string = null; | ||
14 | |||
15 | constructor(private router: Router, private userService: UserService) {} | ||
16 | |||
17 | ngOnInit() { | ||
18 | this.userAddForm = new ControlGroup({ | ||
19 | username: new Control('', Validators.compose([ Validators.required, Validators.minLength(3), Validators.maxLength(20) ])), | ||
20 | password: new Control('', Validators.compose([ Validators.required, Validators.minLength(6) ])), | ||
21 | }); | ||
22 | } | ||
23 | |||
24 | addUser(username: string, password: string) { | ||
25 | this.error = null; | ||
26 | |||
27 | this.userService.addUser(username, password).subscribe( | ||
28 | ok => this.router.navigate([ '/admin/users/list' ]), | ||
29 | |||
30 | err => this.error = err | ||
31 | ); | ||
32 | } | ||
33 | } | ||