X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=client%2Fsrc%2Fapp%2F%2Bmy-account%2Fmy-account-video-channels%2Fmy-account-video-channel-create.component.ts;h=81608d837b2e30aaf28ec7fb283d7a7d49808b9e;hb=e0e665f0efa98f2701dd9f5529e99989680481ae;hp=9b5a12d18b63d7579c64537e5e73ce0e379f01d8;hpb=b1d40cff89f7cff565a98cdbcea9a624196a169a;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 9b5a12d18..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 @@ -2,16 +2,12 @@ import { Component, OnInit } from '@angular/core' import { Router } from '@angular/router' import { NotificationsService } from 'angular2-notifications' 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', @@ -21,41 +17,29 @@ import { I18n } from '@ngx-translate/i18n-polyfill' 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 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,6 +47,7 @@ export class MyAccountVideoChannelCreateComponent extends MyAccountVideoChannelE const body = this.form.value const videoChannelCreate: VideoChannelCreate = { + name: body.name, displayName: body['display-name'], description: body.description || null, support: body.support || null @@ -73,12 +58,19 @@ export class MyAccountVideoChannelCreateComponent extends MyAccountVideoChannelE this.authService.refreshUserInformation() this.notificationsService.success( this.i18n('Success'), - this.i18n('Video channel {{ videoChannelName }} created.', { videoChannelName: videoChannelCreate.displayName }) + 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 + } ) }