From 9ebafb475c90728915d67eef967e09edb36b2828 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Thu, 15 Aug 2024 06:53:18 +0000 Subject: [PATCH] show visibility toggle on content modules administration page only for courses, fixes #4420 Closes #4420 Merge request studip/studip!3244 --- app/views/course/contentmodules/index.php | 5 ++++- resources/vue/components/ContentModules.vue | 1 + resources/vue/components/ContentModulesEditTiles.vue | 2 +- resources/vue/components/ContentmodulesEditTable.vue | 3 +-- resources/vue/mixins/ContentModulesMixin.js | 8 ++++++++ 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/views/course/contentmodules/index.php b/app/views/course/contentmodules/index.php index af8f3e1ebaf..443911a7c40 100644 --- a/app/views/course/contentmodules/index.php +++ b/app/views/course/contentmodules/index.php @@ -1 +1,4 @@ -<div class="content-modules-vue-app" is="ContentModules"></div> +<div class="content-modules-vue-app" + is="ContentModules" + range-type="<?= get_class($sem) ?>" +></div> diff --git a/resources/vue/components/ContentModules.vue b/resources/vue/components/ContentModules.vue index a48dd9d6909..e6164900787 100644 --- a/resources/vue/components/ContentModules.vue +++ b/resources/vue/components/ContentModules.vue @@ -36,6 +36,7 @@ <component :is="displayComponent" :modules="modules" :filtercategory="filterCategory" + :range-type="rangeType" ></component> <MountingPortal mount-to="#tool-view-switch .sidebar-widget-content .widget-list" name="sidebar-switch"> diff --git a/resources/vue/components/ContentModulesEditTiles.vue b/resources/vue/components/ContentModulesEditTiles.vue index 7407632c40a..ae9324c4e7a 100644 --- a/resources/vue/components/ContentModulesEditTiles.vue +++ b/resources/vue/components/ContentModulesEditTiles.vue @@ -61,7 +61,7 @@ href="#" class="toggle_visibility" role="checkbox" - v-if="!module.mandatory" + v-if="showVisibilityToggle(module)" :aria-checked="module.visibility !== 'tutor' ? 'true' : 'false'" @click.prevent="toggleModuleVisibility(module)" > diff --git a/resources/vue/components/ContentmodulesEditTable.vue b/resources/vue/components/ContentmodulesEditTable.vue index 0a8a0aa6f38..39835a7007e 100644 --- a/resources/vue/components/ContentmodulesEditTable.vue +++ b/resources/vue/components/ContentmodulesEditTable.vue @@ -59,7 +59,7 @@ <td class="actions"> <a href="#" - v-if="module.active && !module.mandatory" + v-if="showVisibilityToggle(module)" role="checkbox" :aria-checked="module.visibility !== 'tutor' ? 'true' : 'false'" @click.prevent="toggleModuleVisibility(module)" @@ -121,7 +121,6 @@ import ContentModulesMixin from '../mixins/ContentModulesMixin.js'; export default { name: 'contentmodules-edit-table', - mixins: [ContentModulesMixin], }; </script> diff --git a/resources/vue/mixins/ContentModulesMixin.js b/resources/vue/mixins/ContentModulesMixin.js index 86a29ffb52a..b02561d9ee1 100644 --- a/resources/vue/mixins/ContentModulesMixin.js +++ b/resources/vue/mixins/ContentModulesMixin.js @@ -5,6 +5,9 @@ export default { components: { draggable, }, + props: { + rangeType: String, + }, data: () => ({ order: [], }), @@ -132,5 +135,10 @@ export default { return classes.join(' '); }, + showVisibilityToggle(module) { + return this.rangeType !== 'Institute' + && module.active + && !module.mandatory; + } }, }; -- GitLab