From 7db0ed6082c9db1452b2383e1d738de7eacc95af Mon Sep 17 00:00:00 2001 From: Ron Lucke <lucke@elan-ev.de> Date: Thu, 12 May 2022 09:42:45 +0000 Subject: [PATCH] fix #960 Closes #960 Merge request studip/studip!555 --- .../courseware/CoursewareStructuralElement.vue | 16 ++++++++++++++-- resources/vue/mixins/courseware/export.js | 3 +++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/resources/vue/components/courseware/CoursewareStructuralElement.vue b/resources/vue/components/courseware/CoursewareStructuralElement.vue index 8922e58198b..3a75a3e0359 100755 --- a/resources/vue/components/courseware/CoursewareStructuralElement.vue +++ b/resources/vue/components/courseware/CoursewareStructuralElement.vue @@ -381,7 +381,7 @@ @confirm="publishCurrentElement" > <template v-slot:dialogContent> - <form class="default" @submit.prevent=""> + <form v-show="!oerExportRunning" class="default" @submit.prevent=""> <fieldset> <legend><translate>Grunddaten</translate></legend> <label> @@ -419,6 +419,11 @@ </label> </fieldset> </form> + <courseware-companion-box + v-show="oerExportRunning" + :msgCompanion="$gettext('Export läuft, bitte haben sie einen Moment Geduld...')" + mood="pointing" + /> </template> </studip-dialog> <studip-dialog @@ -520,6 +525,7 @@ export default { }, exportRunning: false, exportChildren: false, + oerExportRunning: false, oerChildren: true, containerList: [], consumModeTrap: false, @@ -1062,7 +1068,13 @@ export default { }, async publishCurrentElement() { - this.exportToOER(this.currentElement, { withChildren: this.oerChildren }); + if (this.oerExportRunning) { + return; + } + this.oerExportRunning = true; + await this.exportToOER(this.currentElement, { withChildren: this.oerChildren }); + this.oerExportRunning = false; + this.showElementOerDialog(false); }, async closeDeleteDialog() { diff --git a/resources/vue/mixins/courseware/export.js b/resources/vue/mixins/courseware/export.js index ee962da5889..0846edf52d8 100755 --- a/resources/vue/mixins/courseware/export.js +++ b/resources/vue/mixins/courseware/export.js @@ -187,6 +187,9 @@ export default { headers: { "Content-Type": "multipart/form-data"} }).then( () => { this.companionInfo({ info: this.$gettextInterpolate('Die Seite wurde an %{ oerTitle } gesendet.', {oerTitle: this.oerTitle}) }); + }).catch(error => { + this.companionError({ info: this.$gettext('Beim Veröffentlichen der Seite ist ein Fehler aufgetreten.') }); + console.debug(error); }); }, -- GitLab