diff --git a/app/controllers/course/contentmodules.php b/app/controllers/course/contentmodules.php index 2d4268fc498f3d66850ba693354359a5bbf13c1d..77676a15a61933200be6201f372ab0dbd13e522f 100644 --- a/app/controllers/course/contentmodules.php +++ b/app/controllers/course/contentmodules.php @@ -85,6 +85,9 @@ class Course_ContentmodulesController extends AuthenticatedController $this->render_vue_app( Studip\VueApp::create('ContentModules') + ->withProps([ + 'range-type' => get_class($this->sem), + ]) ->withStore('ContentModulesStore', 'contentmodules', [ 'setCategories' => $this->categories, 'setHighlighted' => $this->highlighted_modules, diff --git a/resources/vue/components/ContentModules.vue b/resources/vue/components/ContentModules.vue index a48dd9d69092ca4863e1158ea82ffd8c3f7e665b..e6164900787e0032362be1665e393a343989b9f0 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 7407632c40aea3784a2aeb4615ad224ee7544314..ae9324c4e7a1985768625e3373d937b4f1c433f3 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 0a8a0aa6f384446cc5cdd86177fbef4e96f682d3..39835a7007eb71e83b1dc4880d77a51fda5c4d58 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 86a29ffb52af4c3c9badb087382d1eb6435f6f73..b02561d9ee1060e19208c910f19ee247d7629add 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; + } }, };