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=d930423c288c239247e6dfa2873620d1e9a33445;hpb=db7af09bd8e9de57cdda88c2e32387551235b3a4;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 d930423c2..c8094f792 100644 --- a/client/src/app/videos/+video-edit/video-add.component.ts +++ b/client/src/app/videos/+video-edit/video-add.component.ts @@ -12,9 +12,11 @@ import { VIDEO_LANGUAGE, VIDEO_DESCRIPTION, VIDEO_TAGS, - VIDEO_FILE + VIDEO_CHANNEL, + VIDEO_FILE, + VIDEO_PRIVACY } from '../../shared' -import { ServerService} from '../../core' +import { AuthService, ServerService } from '../../core' import { VideoService } from '../shared' import { VideoCreate } from '../../../../../shared' import { HttpEventType, HttpResponse } from '@angular/common/http' @@ -33,6 +35,8 @@ export class VideoAddComponent extends FormReactive implements OnInit { videoCategories = [] videoLicences = [] videoLanguages = [] + videoPrivacies = [] + userVideoChannels = [] tagValidators = VIDEO_TAGS.VALIDATORS tagValidatorsMessages = VIDEO_TAGS.MESSAGES @@ -41,17 +45,21 @@ export class VideoAddComponent extends FormReactive implements OnInit { form: FormGroup formErrors = { name: '', + privacy: '', category: '', licence: '', language: '', + channelId: '', description: '', videofile: '' } validationMessages = { name: VIDEO_NAME.MESSAGES, + privacy: VIDEO_PRIVACY.MESSAGES, category: VIDEO_CATEGORY.MESSAGES, licence: VIDEO_LICENCE.MESSAGES, language: VIDEO_LANGUAGE.MESSAGES, + channelId: VIDEO_CHANNEL.MESSAGES, description: VIDEO_DESCRIPTION.MESSAGES, videofile: VIDEO_FILE.MESSAGES } @@ -60,6 +68,7 @@ export class VideoAddComponent extends FormReactive implements OnInit { private formBuilder: FormBuilder, private router: Router, private notificationsService: NotificationsService, + private authService: AuthService, private serverService: ServerService, private videoService: VideoService ) { @@ -74,9 +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: [ '', VIDEO_CHANNEL.VALIDATORS ], description: [ '', VIDEO_DESCRIPTION.VALIDATORS ], videofile: [ '', VIDEO_FILE.VALIDATORS ], tags: [ '' ] @@ -89,8 +100,24 @@ export class VideoAddComponent extends FormReactive implements OnInit { this.videoCategories = this.serverService.getVideoCategories() this.videoLicences = this.serverService.getVideoLicences() this.videoLanguages = this.serverService.getVideoLanguages() + 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) @@ -118,19 +145,23 @@ 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 const language = formValue.language + const channelId = formValue.channelId const description = formValue.description const tags = formValue.tags const videofile = this.videofileInput.nativeElement.files[0] 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) + formData.append('channelId', '' + channelId) formData.append('videofile', videofile) // Language is optional