From: Chocobozzz Date: Wed, 9 May 2018 13:30:37 +0000 (+0200) Subject: User add -> User create X-Git-Tag: v1.0.0-beta.5~52 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4c200caae63b3f5602dcd93e94b52c39e01857fe;p=oweals%2Fpeertube.git User add -> User create --- diff --git a/client/src/app/+admin/admin.module.ts b/client/src/app/+admin/admin.module.ts index b389f3d4f..8d50b8715 100644 --- a/client/src/app/+admin/admin.module.ts +++ b/client/src/app/+admin/admin.module.ts @@ -11,7 +11,7 @@ import { FollowingListComponent } from './follows/following-list/following-list. import { JobsComponent } from './jobs/job.component' import { JobsListComponent } from './jobs/jobs-list/jobs-list.component' import { JobService } from './jobs/shared/job.service' -import { UserAddComponent, UserListComponent, UsersComponent, UserService, UserUpdateComponent } from './users' +import { UserCreateComponent, UserListComponent, UsersComponent, UserService, UserUpdateComponent } from './users' import { VideoAbuseListComponent, VideoAbusesComponent } from './video-abuses' import { VideoBlacklistComponent, VideoBlacklistListComponent } from './video-blacklist' @@ -32,7 +32,7 @@ import { VideoBlacklistComponent, VideoBlacklistListComponent } from './video-bl FollowingListComponent, UsersComponent, - UserAddComponent, + UserCreateComponent, UserUpdateComponent, UserListComponent, diff --git a/client/src/app/+admin/users/user-edit/index.ts b/client/src/app/+admin/users/user-edit/index.ts index edec02fbb..fd80a02e0 100644 --- a/client/src/app/+admin/users/user-edit/index.ts +++ b/client/src/app/+admin/users/user-edit/index.ts @@ -1,2 +1,2 @@ -export * from './user-add.component' +export * from './user-create.component' export * from './user-update.component' diff --git a/client/src/app/+admin/users/user-edit/user-add.component.ts b/client/src/app/+admin/users/user-edit/user-add.component.ts deleted file mode 100644 index 64cee43be..000000000 --- a/client/src/app/+admin/users/user-edit/user-add.component.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { Component, OnInit } from '@angular/core' -import { FormBuilder, FormGroup } from '@angular/forms' -import { Router } from '@angular/router' - -import { NotificationsService } from 'angular2-notifications' - -import { UserService } from '../shared' -import { - USER_USERNAME, - USER_EMAIL, - USER_PASSWORD, - USER_VIDEO_QUOTA, - USER_ROLE -} from '../../../shared' -import { ServerService } from '../../../core' -import { UserCreate, UserRole } from '../../../../../../shared' -import { UserEdit } from './user-edit' - -@Component({ - selector: 'my-user-add', - templateUrl: './user-edit.component.html', - styleUrls: [ './user-edit.component.scss' ] -}) -export class UserAddComponent extends UserEdit implements OnInit { - error: string - - form: FormGroup - formErrors = { - 'username': '', - 'email': '', - 'password': '', - 'role': '', - 'videoQuota': '' - } - validationMessages = { - 'username': USER_USERNAME.MESSAGES, - 'email': USER_EMAIL.MESSAGES, - 'password': USER_PASSWORD.MESSAGES, - 'role': USER_ROLE.MESSAGES, - 'videoQuota': USER_VIDEO_QUOTA.MESSAGES - } - - constructor ( - protected serverService: ServerService, - private formBuilder: FormBuilder, - private router: Router, - private notificationsService: NotificationsService, - private userService: UserService - ) { - super() - } - - buildForm () { - this.form = this.formBuilder.group({ - username: [ '', USER_USERNAME.VALIDATORS ], - email: [ '', USER_EMAIL.VALIDATORS ], - password: [ '', USER_PASSWORD.VALIDATORS ], - role: [ UserRole.USER, USER_ROLE.VALIDATORS ], - videoQuota: [ '-1', USER_VIDEO_QUOTA.VALIDATORS ] - }) - - this.form.valueChanges.subscribe(data => this.onValueChanged(data)) - } - - ngOnInit () { - this.buildForm() - } - - formValidated () { - this.error = undefined - - const userCreate: UserCreate = this.form.value - - // A select in HTML is always mapped as a string, we convert it to number - userCreate.videoQuota = parseInt(this.form.value['videoQuota'], 10) - - this.userService.addUser(userCreate).subscribe( - () => { - this.notificationsService.success('Success', `User ${userCreate.username} created.`) - this.router.navigate([ '/admin/users/list' ]) - }, - - err => this.error = err.message - ) - } - - isCreation () { - return true - } - - getFormButtonTitle () { - return 'Add user' - } -} diff --git a/client/src/app/+admin/users/user-edit/user-create.component.ts b/client/src/app/+admin/users/user-edit/user-create.component.ts new file mode 100644 index 000000000..2a9882cde --- /dev/null +++ b/client/src/app/+admin/users/user-edit/user-create.component.ts @@ -0,0 +1,94 @@ +import { Component, OnInit } from '@angular/core' +import { FormBuilder, FormGroup } from '@angular/forms' +import { Router } from '@angular/router' + +import { NotificationsService } from 'angular2-notifications' + +import { UserService } from '../shared' +import { + USER_USERNAME, + USER_EMAIL, + USER_PASSWORD, + USER_VIDEO_QUOTA, + USER_ROLE +} from '../../../shared' +import { ServerService } from '../../../core' +import { UserCreate, UserRole } from '../../../../../../shared' +import { UserEdit } from './user-edit' + +@Component({ + selector: 'my-user-create', + templateUrl: './user-edit.component.html', + styleUrls: [ './user-edit.component.scss' ] +}) +export class UserCreateComponent extends UserEdit implements OnInit { + error: string + + form: FormGroup + formErrors = { + 'username': '', + 'email': '', + 'password': '', + 'role': '', + 'videoQuota': '' + } + validationMessages = { + 'username': USER_USERNAME.MESSAGES, + 'email': USER_EMAIL.MESSAGES, + 'password': USER_PASSWORD.MESSAGES, + 'role': USER_ROLE.MESSAGES, + 'videoQuota': USER_VIDEO_QUOTA.MESSAGES + } + + constructor ( + protected serverService: ServerService, + private formBuilder: FormBuilder, + private router: Router, + private notificationsService: NotificationsService, + private userService: UserService + ) { + super() + } + + buildForm () { + this.form = this.formBuilder.group({ + username: [ '', USER_USERNAME.VALIDATORS ], + email: [ '', USER_EMAIL.VALIDATORS ], + password: [ '', USER_PASSWORD.VALIDATORS ], + role: [ UserRole.USER, USER_ROLE.VALIDATORS ], + videoQuota: [ '-1', USER_VIDEO_QUOTA.VALIDATORS ] + }) + + this.form.valueChanges.subscribe(data => this.onValueChanged(data)) + } + + ngOnInit () { + this.buildForm() + } + + formValidated () { + this.error = undefined + + const userCreate: UserCreate = this.form.value + + // A select in HTML is always mapped as a string, we convert it to number + userCreate.videoQuota = parseInt(this.form.value['videoQuota'], 10) + + this.userService.addUser(userCreate).subscribe( + () => { + this.notificationsService.success('Success', `User ${userCreate.username} created.`) + this.router.navigate([ '/admin/users/list' ]) + }, + + err => this.error = err.message + ) + } + + isCreation () { + return true + } + + getFormButtonTitle () { + return 'Create user' + } +} diff --git a/client/src/app/+admin/users/user-edit/user-edit.component.html b/client/src/app/+admin/users/user-edit/user-edit.component.html index 6dee0b7aa..a8c0ddadb 100644 --- a/client/src/app/+admin/users/user-edit/user-edit.component.html +++ b/client/src/app/+admin/users/user-edit/user-edit.component.html @@ -1,4 +1,4 @@ -
Add user
+
Create user
Edit user {{ username }}
{{ error }}
diff --git a/client/src/app/+admin/users/user-list/user-list.component.html b/client/src/app/+admin/users/user-list/user-list.component.html index 83db034e3..09a4ac1e7 100644 --- a/client/src/app/+admin/users/user-list/user-list.component.html +++ b/client/src/app/+admin/users/user-list/user-list.component.html @@ -1,9 +1,9 @@
Users list
- + - Add user + Create user
diff --git a/client/src/app/+admin/users/users.routes.ts b/client/src/app/+admin/users/users.routes.ts index 3718dfd5c..7585eb852 100644 --- a/client/src/app/+admin/users/users.routes.ts +++ b/client/src/app/+admin/users/users.routes.ts @@ -3,7 +3,7 @@ import { Routes } from '@angular/router' import { UserRightGuard } from '../../core' import { UserRight } from '../../../../../shared' import { UsersComponent } from './users.component' -import { UserAddComponent, UserUpdateComponent } from './user-edit' +import { UserCreateComponent, UserUpdateComponent } from './user-edit' import { UserListComponent } from './user-list' export const UsersRoutes: Routes = [ @@ -30,11 +30,11 @@ export const UsersRoutes: Routes = [ } }, { - path: 'add', - component: UserAddComponent, + path: 'create', + component: UserCreateComponent, data: { meta: { - title: 'Add a user' + title: 'Create a user' } } },