From 71c946c71f97f325c30950974d3f5e1fe8deb36f Mon Sep 17 00:00:00 2001 From: srahn Date: Wed, 6 Sep 2023 12:39:58 +0200 Subject: [PATCH 01/10] Actually trigger a download on media download --- .../Videos/Actions/VideoDownload.vue | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/vueapp/components/Videos/Actions/VideoDownload.vue b/vueapp/components/Videos/Actions/VideoDownload.vue index 98a146de4..7ddfca2ae 100644 --- a/vueapp/components/Videos/Actions/VideoDownload.vue +++ b/vueapp/components/Videos/Actions/VideoDownload.vue @@ -12,9 +12,8 @@

ReferentIn

- - + + {{ getMediaText(media) }} @@ -23,9 +22,8 @@

Bildschirm

- - + + {{ getMediaText(media) }} @@ -39,6 +37,8 @@ import StudipDialog from '@studip/StudipDialog' import StudipButton from '@studip/StudipButton' +import axios from "@/common/axios.service"; + export default { name: 'VideoDownload', @@ -57,6 +57,28 @@ export default { }, methods: { + async downloadFile(media) { + axios.get(media.url, { + crossDomain: true, + withCredentials: true, + responseType: 'blob' + }).then(response => { + const blob = new Blob([response.data]); + const link = document.createElement('a'); + link.href = URL.createObjectURL(blob); + link.download = this.getFileName(media); + link.click(); + URL.revokeObjectURL(link.href); + }).catch(console.error); + }, + + getFileName(media) { + let res = media.info; + res = res.replace(' * ', ' x ').replace(/\s+/g, ''); + let ext = media.url.split(".").pop(); + return this.event.title + ' (' + res + ').' + ext; + }, + getMediaText(media) { var text = media?.info || ''; text = text.replace(' * ', ' x '); From bde286371d008ce466f5fb650c27a825c6462a17 Mon Sep 17 00:00:00 2001 From: srahn Date: Wed, 6 Sep 2023 13:17:17 +0200 Subject: [PATCH 02/10] PlaylistAddToCourseDialog rename Element --- vueapp/components/Playlists/PlaylistAddToCourseDialog.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vueapp/components/Playlists/PlaylistAddToCourseDialog.vue b/vueapp/components/Playlists/PlaylistAddToCourseDialog.vue index f256679bd..de1672a38 100644 --- a/vueapp/components/Playlists/PlaylistAddToCourseDialog.vue +++ b/vueapp/components/Playlists/PlaylistAddToCourseDialog.vue @@ -15,7 +15,7 @@ - {{ $gettext('Veranstaltung') }} + {{ $gettext('Verknüpfte Veranstaltungen') }} From 7be6362aa02d13cd02382b73371017b9bd3ce470 Mon Sep 17 00:00:00 2001 From: srahn Date: Wed, 6 Sep 2023 13:34:05 +0200 Subject: [PATCH 03/10] Fix MessageBox closable --- vueapp/components/MessageBox.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vueapp/components/MessageBox.vue b/vueapp/components/MessageBox.vue index 89f4092ec..deb7bf027 100644 --- a/vueapp/components/MessageBox.vue +++ b/vueapp/components/MessageBox.vue @@ -2,7 +2,7 @@
From e64a966c7c6a6ef2ba1a00a2b4c985cae2c37ccb Mon Sep 17 00:00:00 2001 From: srahn Date: Wed, 6 Sep 2023 14:16:58 +0200 Subject: [PATCH 04/10] Make the 'mark for deletion' action more clearly --- lib/Providers/OpencastConstants.php | 3 ++- .../components/Videos/Actions/VideoDelete.vue | 18 +++++++++++++++--- vueapp/components/Videos/VideoCard.vue | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/lib/Providers/OpencastConstants.php b/lib/Providers/OpencastConstants.php index 26b96f222..ea23eac61 100644 --- a/lib/Providers/OpencastConstants.php +++ b/lib/Providers/OpencastConstants.php @@ -44,7 +44,8 @@ public function register(\Pimple\Container $container) 'OPENCAST_RESOURCE_PROPERTY_ID', 'OPENCAST_SUPPORT_EMAIL', 'OPENCAST_API_TOKEN', - 'OPENCAST_DEFAULT_SERVER' + 'OPENCAST_DEFAULT_SERVER', + 'OPENCAST_CLEAR_RECYCLE_BIN_INTERVAL' ] ]; } diff --git a/vueapp/components/Videos/Actions/VideoDelete.vue b/vueapp/components/Videos/Actions/VideoDelete.vue index 1b1a1f221..306d8450f 100644 --- a/vueapp/components/Videos/Actions/VideoDelete.vue +++ b/vueapp/components/Videos/Actions/VideoDelete.vue @@ -1,23 +1,29 @@