diff options
Diffstat (limited to 'client/src/app/videos/video-watch/video-watch.component.ts')
-rw-r--r-- | client/src/app/videos/video-watch/video-watch.component.ts | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/client/src/app/videos/video-watch/video-watch.component.ts b/client/src/app/videos/video-watch/video-watch.component.ts index e04626a67..f582df45c 100644 --- a/client/src/app/videos/video-watch/video-watch.component.ts +++ b/client/src/app/videos/video-watch/video-watch.component.ts | |||
@@ -169,6 +169,45 @@ export class VideoWatchComponent implements OnInit, OnDestroy { | |||
169 | ); | 169 | ); |
170 | } | 170 | } |
171 | 171 | ||
172 | removeVideo(event: Event) { | ||
173 | event.preventDefault(); | ||
174 | this.confirmService.confirm('Do you really want to delete this video?', 'Delete').subscribe( | ||
175 | res => { | ||
176 | if (res === false) return; | ||
177 | |||
178 | this.videoService.removeVideo(this.video.id) | ||
179 | .subscribe( | ||
180 | status => { | ||
181 | this.notificationsService.success('Success', `Video ${this.video.name} deleted.`) | ||
182 | // Go back to the video-list. | ||
183 | this.router.navigate(['/videos/list']) | ||
184 | }, | ||
185 | |||
186 | error => this.notificationsService.error('Error', error.text) | ||
187 | ); | ||
188 | } | ||
189 | ); | ||
190 | } | ||
191 | |||
192 | blacklistVideo(event: Event) { | ||
193 | event.preventDefault() | ||
194 | this.confirmService.confirm('Do you really want to blacklist this video ?', 'Blacklist').subscribe( | ||
195 | res => { | ||
196 | if (res === false) return; | ||
197 | |||
198 | this.videoService.blacklistVideo(this.video.id) | ||
199 | .subscribe( | ||
200 | status => { | ||
201 | this.notificationsService.success('Success', `Video ${this.video.name} had been blacklisted.`) | ||
202 | this.router.navigate(['/videos/list']) | ||
203 | }, | ||
204 | |||
205 | error => this.notificationsService.error('Error', error.text) | ||
206 | ) | ||
207 | } | ||
208 | ) | ||
209 | } | ||
210 | |||
172 | showReportModal(event: Event) { | 211 | showReportModal(event: Event) { |
173 | event.preventDefault(); | 212 | event.preventDefault(); |
174 | this.videoReportModal.show(); | 213 | this.videoReportModal.show(); |
@@ -192,6 +231,14 @@ export class VideoWatchComponent implements OnInit, OnDestroy { | |||
192 | this.authService.getUser().username === this.video.author; | 231 | this.authService.getUser().username === this.video.author; |
193 | } | 232 | } |
194 | 233 | ||
234 | isVideoRemovable() { | ||
235 | return this.video.isRemovableBy(this.authService.getUser()); | ||
236 | } | ||
237 | |||
238 | isVideoBlacklistable() { | ||
239 | return this.video.isBlackistableBy(this.authService.getUser()); | ||
240 | } | ||
241 | |||
195 | private checkUserRating() { | 242 | private checkUserRating() { |
196 | // Unlogged users do not have ratings | 243 | // Unlogged users do not have ratings |
197 | if (this.isUserLoggedIn() === false) return; | 244 | if (this.isUserLoggedIn() === false) return; |