X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fvideos%2F%2Bvideo-edit%2Fvideo-add.component.ts;h=c8094f79279dd8d13f36df13c37ab4a5a480e7a8;hb=fd45e8f43c2638478599ca75632518054461da85;hp=92b03e8c96cae9c6898aa871929a3e139ef38f0d;hpb=bcd9f81eff05ffd930c5d8175fb907d4d371432a;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/videos/+video-edit/video-add.component.ts b/client/src/app/videos/+video-edit/video-add.component.ts index 92b03e8c9..c8094f792 100644 --- a/client/src/app/videos/+video-edit/video-add.component.ts +++ b/client/src/app/videos/+video-edit/video-add.component.ts @@ -13,7 +13,8 @@ import { VIDEO_DESCRIPTION, VIDEO_TAGS, VIDEO_CHANNEL, - VIDEO_FILE + VIDEO_FILE, + VIDEO_PRIVACY } from '../../shared' import { AuthService, ServerService } from '../../core' import { VideoService } from '../shared' @@ -34,6 +35,7 @@ export class VideoAddComponent extends FormReactive implements OnInit { videoCategories = [] videoLicences = [] videoLanguages = [] + videoPrivacies = [] userVideoChannels = [] tagValidators = VIDEO_TAGS.VALIDATORS @@ -43,6 +45,7 @@ export class VideoAddComponent extends FormReactive implements OnInit { form: FormGroup formErrors = { name: '', + privacy: '', category: '', licence: '', language: '', @@ -52,6 +55,7 @@ export class VideoAddComponent extends FormReactive implements OnInit { } validationMessages = { name: VIDEO_NAME.MESSAGES, + privacy: VIDEO_PRIVACY.MESSAGES, category: VIDEO_CATEGORY.MESSAGES, licence: VIDEO_LICENCE.MESSAGES, language: VIDEO_LANGUAGE.MESSAGES, @@ -79,10 +83,11 @@ export class VideoAddComponent extends FormReactive implements OnInit { this.form = this.formBuilder.group({ name: [ '', VIDEO_NAME.VALIDATORS ], nsfw: [ false ], + privacy: [ '', VIDEO_PRIVACY.VALIDATORS ], category: [ '', VIDEO_CATEGORY.VALIDATORS ], licence: [ '', VIDEO_LICENCE.VALIDATORS ], language: [ '', VIDEO_LANGUAGE.VALIDATORS ], - channelId: [ this.userVideoChannels[0].id, VIDEO_CHANNEL.VALIDATORS ], + channelId: [ '', VIDEO_CHANNEL.VALIDATORS ], description: [ '', VIDEO_DESCRIPTION.VALIDATORS ], videofile: [ '', VIDEO_FILE.VALIDATORS ], tags: [ '' ] @@ -95,11 +100,24 @@ export class VideoAddComponent extends FormReactive implements OnInit { this.videoCategories = this.serverService.getVideoCategories() this.videoLicences = this.serverService.getVideoLicences() this.videoLanguages = this.serverService.getVideoLanguages() - - const user = this.authService.getUser() - this.userVideoChannels = user.videoChannels.map(v => ({ id: v.id, label: v.name })) + this.videoPrivacies = this.serverService.getVideoPrivacies() this.buildForm() + + this.authService.userInformationLoaded + .subscribe( + () => { + const user = this.authService.getUser() + if (!user) return + + const videoChannels = user.videoChannels + if (Array.isArray(videoChannels) === false) return + + this.userVideoChannels = videoChannels.map(v => ({ id: v.id, label: v.name })) + + this.form.patchValue({ channelId: this.userVideoChannels[0].id }) + } + ) } // The goal is to keep reactive form validation (required field) @@ -127,6 +145,7 @@ export class VideoAddComponent extends FormReactive implements OnInit { const formValue: VideoCreate = this.form.value const name = formValue.name + const privacy = formValue.privacy const nsfw = formValue.nsfw const category = formValue.category const licence = formValue.licence @@ -138,6 +157,7 @@ export class VideoAddComponent extends FormReactive implements OnInit { const formData = new FormData() formData.append('name', name) + formData.append('privacy', privacy.toString()) formData.append('category', '' + category) formData.append('nsfw', '' + nsfw) formData.append('licence', '' + licence)