Add ability to download videos from my videos page (#6008)
* Fix object storage download * Add ability to download videos from my videos page * Updated code based on review comments * Styling --------- Co-authored-by: Chocobozzz <me@florianbigard.com>
This commit is contained in:
parent
1cb3afb2c2
commit
ffd9bf1c8b
|
@ -48,7 +48,7 @@ export class MyVideosComponent implements OnInit, DisableForReuseHook {
|
|||
}
|
||||
videoDropdownDisplayOptions: VideoActionsDisplayType = {
|
||||
playlist: false,
|
||||
download: false,
|
||||
download: true,
|
||||
update: false,
|
||||
blacklist: false,
|
||||
delete: true,
|
||||
|
|
|
@ -232,7 +232,7 @@ export class Video implements VideoServerModel {
|
|||
this.isUpdatableBy(user)
|
||||
}
|
||||
|
||||
canSeeStats (user: AuthUser) {
|
||||
isOwnerOrHasSeeAllVideosRight (user: AuthUser) {
|
||||
return user && this.isLocal === true && (this.account.name === user.username || user.hasRight(UserRight.SEE_ALL_VIDEOS))
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ import {
|
|||
import { LiveStreamInformationComponent } from '../shared-video-live'
|
||||
import { VideoAddToPlaylistComponent } from '../shared-video-playlist'
|
||||
import { VideoDownloadComponent } from './video-download.component'
|
||||
import { of } from 'rxjs'
|
||||
|
||||
export type VideoActionsDisplayType = {
|
||||
playlist?: boolean
|
||||
|
@ -128,7 +129,13 @@ export class VideoActionsDropdownComponent implements OnChanges {
|
|||
showDownloadModal () {
|
||||
this.modalOpened.emit()
|
||||
|
||||
this.videoDownloadModal.show(this.video as VideoDetails, this.videoCaptions)
|
||||
const obs = this.video instanceof VideoDetails
|
||||
? of(this.video)
|
||||
: this.videoService.getVideo({ videoId: this.video.uuid })
|
||||
|
||||
obs.subscribe((videoDetails: VideoDetails) => {
|
||||
this.videoDownloadModal.show(videoDetails, this.videoCaptions)
|
||||
})
|
||||
}
|
||||
|
||||
showReportModal () {
|
||||
|
@ -160,7 +167,7 @@ export class VideoActionsDropdownComponent implements OnChanges {
|
|||
}
|
||||
|
||||
isVideoStatsAvailable () {
|
||||
return this.video.canSeeStats(this.user)
|
||||
return this.video.isOwnerOrHasSeeAllVideosRight(this.user)
|
||||
}
|
||||
|
||||
isVideoRemovable () {
|
||||
|
@ -180,10 +187,14 @@ export class VideoActionsDropdownComponent implements OnChanges {
|
|||
}
|
||||
|
||||
isVideoDownloadable () {
|
||||
return this.video &&
|
||||
if (this.video.isOwnerOrHasSeeAllVideosRight(this.user)) return true
|
||||
|
||||
return (
|
||||
this.video &&
|
||||
this.video.isLive !== true &&
|
||||
this.video instanceof VideoDetails &&
|
||||
this.video.downloadEnabled
|
||||
)
|
||||
}
|
||||
|
||||
canVideoBeDuplicated () {
|
||||
|
|
Loading…
Reference in New Issue