From e00a7ed5c223071a82a93a793102e045c63075eb Mon Sep 17 00:00:00 2001 From: Ron Lucke <lucke@elan-ev.de> Date: Fri, 25 Aug 2023 12:50:40 +0000 Subject: [PATCH] fix #3090 Closes #3090 Merge request studip/studip!2077 --- .../CoursewareStructuralElement.vue | 50 +++++++++++++------ 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/resources/vue/components/courseware/CoursewareStructuralElement.vue b/resources/vue/components/courseware/CoursewareStructuralElement.vue index 0c03fc67db9..b24840e0389 100644 --- a/resources/vue/components/courseware/CoursewareStructuralElement.vue +++ b/resources/vue/components/courseware/CoursewareStructuralElement.vue @@ -636,7 +636,12 @@ v-if="currentElement !== ''" :msgCompanion="textCompanionWrongContext" mood="sad" - /> + > + <template v-slot:companionActions > + <a class="button" :href="unitRootUrl">{{ $gettext('Lernmaterial neu laden') }}</a> + <a class="button" :href="shelfURL">{{ $gettext('Zurück zur Lernmaterialübersicht') }}</a> + </template> + </courseware-companion-box> </div> </div> </focus-trap> @@ -863,13 +868,26 @@ export default { }, validContext() { - let valid = false; + if (this.context.type === 'sharedusers') { + if (this.context.id === this.courseware.relationships.root.data.id) { + return true; + } + } + + if (this.context.type === 'public') { + return true; + } + + if (this.context.unit !== this.currentElement.relationships?.unit?.data?.id) { + return false; + } + if (this.context.type === 'courses' && this.currentElement.relationships) { if ( this.currentElement.relationships.course && this.context.id === this.currentElement.relationships.course.data.id ) { - valid = true; + return true; } } @@ -878,20 +896,12 @@ export default { this.currentElement.relationships.user && this.context.id === this.currentElement.relationships.user.data.id ) { - valid = true; - } - } - if (this.context.type === 'sharedusers') { - if (this.context.id === this.courseware.relationships.root.data.id) { - valid = true; + return true; } } + - if (this.context.type === 'public') { - valid = true; - } - - return valid; + return false; }, image() { @@ -1225,6 +1235,18 @@ export default { }, progressTitle() { return ''; + }, + shelfURL() { + return STUDIP.URLHelper.getURL( + 'dispatch.php/course/courseware/', + {cid: this.context.id} + ); + }, + unitRootUrl() { + return STUDIP.URLHelper.getURL( + 'dispatch.php/course/courseware/courseware/' + this.context.unit, + {cid: this.context.id} + ); } }, -- GitLab