From 978c9d497b36e52196eb7e755406571e5d57cbc7 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 14 Mar 2019 14:55:10 +0100 Subject: Add playlist channel validator when playlist is public --- .../video-playlist-validators.service.ts | 18 ++++++++++++++++-- .../video-add-to-playlist.component.html | 10 +++++----- .../video-playlist/video-add-to-playlist.component.ts | 6 +++--- 3 files changed, 24 insertions(+), 10 deletions(-) (limited to 'client/src/app/shared') diff --git a/client/src/app/shared/forms/form-validators/video-playlist-validators.service.ts b/client/src/app/shared/forms/form-validators/video-playlist-validators.service.ts index 726084b47..a2c9a5368 100644 --- a/client/src/app/shared/forms/form-validators/video-playlist-validators.service.ts +++ b/client/src/app/shared/forms/form-validators/video-playlist-validators.service.ts @@ -1,7 +1,8 @@ import { I18n } from '@ngx-translate/i18n-polyfill' -import { Validators } from '@angular/forms' +import { AbstractControl, FormControl, Validators } from '@angular/forms' import { Injectable } from '@angular/core' import { BuildFormValidator } from '@app/shared' +import { VideoPlaylistPrivacy } from '@shared/models' @Injectable() export class VideoPlaylistValidatorsService { @@ -46,7 +47,20 @@ export class VideoPlaylistValidatorsService { this.VIDEO_PLAYLIST_CHANNEL_ID = { VALIDATORS: [ ], - MESSAGES: { } + MESSAGES: { + 'required': this.i18n('The channel is required when the playlist is public.') + } + } + } + + setChannelValidator (channelControl: AbstractControl, privacy: VideoPlaylistPrivacy) { + if (privacy.toString() === VideoPlaylistPrivacy.PUBLIC.toString()) { + channelControl.setValidators([ Validators.required ]) + } else { + channelControl.setValidators(null) } + + channelControl.markAsDirty() + channelControl.updateValueAndValidity() } } diff --git a/client/src/app/shared/video-playlist/video-add-to-playlist.component.html b/client/src/app/shared/video-playlist/video-add-to-playlist.component.html index f85e50d6d..19b326206 100644 --- a/client/src/app/shared/video-playlist/video-add-to-playlist.component.html +++ b/client/src/app/shared/video-playlist/video-add-to-playlist.component.html @@ -60,13 +60,13 @@