diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-10-31 11:52:52 +0100 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-10-31 11:53:13 +0100 |
commit | fd45e8f43c2638478599ca75632518054461da85 (patch) | |
tree | 01e1fb5ddad53bde8fb2c48f348fb8add51cfdb3 /client/src/app/videos/+video-edit/video-update.component.ts | |
parent | b7a485121d71c95fcf5e432e4cc745cf91af4f93 (diff) | |
download | PeerTube-fd45e8f43c2638478599ca75632518054461da85.tar.gz PeerTube-fd45e8f43c2638478599ca75632518054461da85.tar.zst PeerTube-fd45e8f43c2638478599ca75632518054461da85.zip |
Add video privacy setting
Diffstat (limited to 'client/src/app/videos/+video-edit/video-update.component.ts')
-rw-r--r-- | client/src/app/videos/+video-edit/video-update.component.ts | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/client/src/app/videos/+video-edit/video-update.component.ts b/client/src/app/videos/+video-edit/video-update.component.ts index 6ced77f1a..be663575f 100644 --- a/client/src/app/videos/+video-edit/video-update.component.ts +++ b/client/src/app/videos/+video-edit/video-update.component.ts | |||
@@ -1,7 +1,6 @@ | |||
1 | import { Component, OnInit } from '@angular/core' | 1 | import { Component, OnInit } from '@angular/core' |
2 | import { FormBuilder, FormGroup } from '@angular/forms' | 2 | import { FormBuilder, FormGroup } from '@angular/forms' |
3 | import { ActivatedRoute, Router } from '@angular/router' | 3 | import { ActivatedRoute, Router } from '@angular/router' |
4 | import { Observable } from 'rxjs/Observable' | ||
5 | import 'rxjs/add/observable/forkJoin' | 4 | import 'rxjs/add/observable/forkJoin' |
6 | 5 | ||
7 | import { NotificationsService } from 'angular2-notifications' | 6 | import { NotificationsService } from 'angular2-notifications' |
@@ -14,9 +13,11 @@ import { | |||
14 | VIDEO_LICENCE, | 13 | VIDEO_LICENCE, |
15 | VIDEO_LANGUAGE, | 14 | VIDEO_LANGUAGE, |
16 | VIDEO_DESCRIPTION, | 15 | VIDEO_DESCRIPTION, |
17 | VIDEO_TAGS | 16 | VIDEO_TAGS, |
17 | VIDEO_PRIVACY | ||
18 | } from '../../shared' | 18 | } from '../../shared' |
19 | import { VideoEdit, VideoService } from '../shared' | 19 | import { VideoEdit, VideoService } from '../shared' |
20 | import { VideoPrivacy } from '../../../../../shared/models/videos/video-privacy.enum' | ||
20 | 21 | ||
21 | @Component({ | 22 | @Component({ |
22 | selector: 'my-videos-update', | 23 | selector: 'my-videos-update', |
@@ -29,6 +30,7 @@ export class VideoUpdateComponent extends FormReactive implements OnInit { | |||
29 | videoCategories = [] | 30 | videoCategories = [] |
30 | videoLicences = [] | 31 | videoLicences = [] |
31 | videoLanguages = [] | 32 | videoLanguages = [] |
33 | videoPrivacies = [] | ||
32 | video: VideoEdit | 34 | video: VideoEdit |
33 | 35 | ||
34 | tagValidators = VIDEO_TAGS.VALIDATORS | 36 | tagValidators = VIDEO_TAGS.VALIDATORS |
@@ -38,6 +40,7 @@ export class VideoUpdateComponent extends FormReactive implements OnInit { | |||
38 | form: FormGroup | 40 | form: FormGroup |
39 | formErrors = { | 41 | formErrors = { |
40 | name: '', | 42 | name: '', |
43 | privacy: '', | ||
41 | category: '', | 44 | category: '', |
42 | licence: '', | 45 | licence: '', |
43 | language: '', | 46 | language: '', |
@@ -45,6 +48,7 @@ export class VideoUpdateComponent extends FormReactive implements OnInit { | |||
45 | } | 48 | } |
46 | validationMessages = { | 49 | validationMessages = { |
47 | name: VIDEO_NAME.MESSAGES, | 50 | name: VIDEO_NAME.MESSAGES, |
51 | privacy: VIDEO_PRIVACY.MESSAGES, | ||
48 | category: VIDEO_CATEGORY.MESSAGES, | 52 | category: VIDEO_CATEGORY.MESSAGES, |
49 | licence: VIDEO_LICENCE.MESSAGES, | 53 | licence: VIDEO_LICENCE.MESSAGES, |
50 | language: VIDEO_LANGUAGE.MESSAGES, | 54 | language: VIDEO_LANGUAGE.MESSAGES, |
@@ -67,6 +71,7 @@ export class VideoUpdateComponent extends FormReactive implements OnInit { | |||
67 | buildForm () { | 71 | buildForm () { |
68 | this.form = this.formBuilder.group({ | 72 | this.form = this.formBuilder.group({ |
69 | name: [ '', VIDEO_NAME.VALIDATORS ], | 73 | name: [ '', VIDEO_NAME.VALIDATORS ], |
74 | privacy: [ '', VIDEO_PRIVACY.VALIDATORS ], | ||
70 | nsfw: [ false ], | 75 | nsfw: [ false ], |
71 | category: [ '', VIDEO_CATEGORY.VALIDATORS ], | 76 | category: [ '', VIDEO_CATEGORY.VALIDATORS ], |
72 | licence: [ '', VIDEO_LICENCE.VALIDATORS ], | 77 | licence: [ '', VIDEO_LICENCE.VALIDATORS ], |
@@ -84,6 +89,7 @@ export class VideoUpdateComponent extends FormReactive implements OnInit { | |||
84 | this.videoCategories = this.serverService.getVideoCategories() | 89 | this.videoCategories = this.serverService.getVideoCategories() |
85 | this.videoLicences = this.serverService.getVideoLicences() | 90 | this.videoLicences = this.serverService.getVideoLicences() |
86 | this.videoLanguages = this.serverService.getVideoLanguages() | 91 | this.videoLanguages = this.serverService.getVideoLanguages() |
92 | this.videoPrivacies = this.serverService.getVideoPrivacies() | ||
87 | 93 | ||
88 | const uuid: string = this.route.snapshot.params['uuid'] | 94 | const uuid: string = this.route.snapshot.params['uuid'] |
89 | 95 | ||
@@ -98,6 +104,16 @@ export class VideoUpdateComponent extends FormReactive implements OnInit { | |||
98 | video => { | 104 | video => { |
99 | this.video = new VideoEdit(video) | 105 | this.video = new VideoEdit(video) |
100 | 106 | ||
107 | // We cannot set private a video that was not private anymore | ||
108 | if (video.privacy !== VideoPrivacy.PRIVATE) { | ||
109 | const newVideoPrivacies = [] | ||
110 | for (const p of this.videoPrivacies) { | ||
111 | if (p.id !== VideoPrivacy.PRIVATE) newVideoPrivacies.push(p) | ||
112 | } | ||
113 | |||
114 | this.videoPrivacies = newVideoPrivacies | ||
115 | } | ||
116 | |||
101 | this.hydrateFormFromVideo() | 117 | this.hydrateFormFromVideo() |
102 | }, | 118 | }, |
103 | 119 | ||