X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2F%2Bmy-account%2Fmy-account-video-channels%2Fmy-account-video-channel-create.component.ts;h=81608d837b2e30aaf28ec7fb283d7a7d49808b9e;hb=601527d7953a83d6ad08dbb2ed8ac02851beaf1e;hp=0f03548ade8c7a075af7b0e719f4619aacbad859;hpb=62e62f118d5da57acd3494fece2e8ed357564ffe;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts b/client/src/app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts index 0f03548ad..81608d837 100644 --- a/client/src/app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts +++ b/client/src/app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts @@ -1,18 +1,13 @@ import { Component, OnInit } from '@angular/core' import { Router } from '@angular/router' import { NotificationsService } from 'angular2-notifications' -import 'rxjs/add/observable/from' -import 'rxjs/add/operator/concatAll' import { MyAccountVideoChannelEdit } from './my-account-video-channel-edit' -import { FormBuilder, FormGroup } from '@angular/forms' import { VideoChannelCreate } from '../../../../../shared/models/videos' -import { - VIDEO_CHANNEL_DESCRIPTION, - VIDEO_CHANNEL_DISPLAY_NAME, - VIDEO_CHANNEL_SUPPORT -} from '@app/shared/forms/form-validators/video-channel' import { VideoChannelService } from '@app/shared/video-channel/video-channel.service' import { AuthService } from '@app/core' +import { I18n } from '@ngx-translate/i18n-polyfill' +import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service' +import { VideoChannelValidatorsService } from '@app/shared/forms/form-validators/video-channel-validators.service' @Component({ selector: 'my-account-video-channel-create', @@ -22,40 +17,29 @@ import { AuthService } from '@app/core' export class MyAccountVideoChannelCreateComponent extends MyAccountVideoChannelEdit implements OnInit { error: string - form: FormGroup - formErrors = { - 'display-name': '', - 'description': '', - 'support': '' - } - validationMessages = { - 'display-name': VIDEO_CHANNEL_DISPLAY_NAME.MESSAGES, - 'description': VIDEO_CHANNEL_DESCRIPTION.MESSAGES, - 'support': VIDEO_CHANNEL_SUPPORT.MESSAGES - } - constructor ( + protected formValidatorService: FormValidatorService, private authService: AuthService, + private videoChannelValidatorsService: VideoChannelValidatorsService, private notificationsService: NotificationsService, private router: Router, - private formBuilder: FormBuilder, - private videoChannelService: VideoChannelService + private videoChannelService: VideoChannelService, + private i18n: I18n ) { super() } - buildForm () { - this.form = this.formBuilder.group({ - 'display-name': [ '', VIDEO_CHANNEL_DISPLAY_NAME.VALIDATORS ], - description: [ '', VIDEO_CHANNEL_DESCRIPTION.VALIDATORS ], - support: [ '', VIDEO_CHANNEL_SUPPORT.VALIDATORS ] - }) - - this.form.valueChanges.subscribe(data => this.onValueChanged(data)) + get instanceHost () { + return window.location.host } ngOnInit () { - this.buildForm() + this.buildForm({ + name: this.videoChannelValidatorsService.VIDEO_CHANNEL_NAME, + 'display-name': this.videoChannelValidatorsService.VIDEO_CHANNEL_DISPLAY_NAME, + description: this.videoChannelValidatorsService.VIDEO_CHANNEL_DESCRIPTION, + support: this.videoChannelValidatorsService.VIDEO_CHANNEL_SUPPORT + }) } formValidated () { @@ -63,19 +47,30 @@ export class MyAccountVideoChannelCreateComponent extends MyAccountVideoChannelE const body = this.form.value const videoChannelCreate: VideoChannelCreate = { + name: body.name, displayName: body['display-name'], - description: body.description || undefined, - support: body.support || undefined + description: body.description || null, + support: body.support || null } this.videoChannelService.createVideoChannel(videoChannelCreate).subscribe( () => { this.authService.refreshUserInformation() - this.notificationsService.success('Success', `Video channel ${videoChannelCreate.displayName} created.`) + this.notificationsService.success( + this.i18n('Success'), + this.i18n('Video channel {{videoChannelName}} created.', { videoChannelName: videoChannelCreate.displayName }) + ) this.router.navigate([ '/my-account', 'video-channels' ]) }, - err => this.error = err.message + err => { + if (err.status === 409) { + this.error = this.i18n('This name already exists on this instance.') + return + } + + this.error = err.message + } ) } @@ -84,6 +79,6 @@ export class MyAccountVideoChannelCreateComponent extends MyAccountVideoChannelE } getFormButtonTitle () { - return 'Create' + return this.i18n('Create') } }