From 47d087856018ecf1ecef76697821b5ccd8b861dc Mon Sep 17 00:00:00 2001 From: Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> Date: Sat, 21 Oct 2023 09:58:15 +0200 Subject: [PATCH] Revert "fix #3019" This reverts commit 185ab4a1919f137e99c72addf98790e0e5f833d2. --- app/views/contents/courseware/courseware.php | 1 + .../courseware/shared_content_courseware.php | 1 + app/views/course/courseware/courseware.php | 1 + lib/classes/JsonApi/Models/Studip.php | 2 -- .../courseware/CoursewareExportWidget.vue | 4 ++-- .../CoursewareStructuralElement.vue | 7 +++---- resources/vue/courseware-index-app.js | 16 ++++++---------- .../vue/store/courseware/courseware.module.js | 19 ++++++++++++------- 8 files changed, 26 insertions(+), 25 deletions(-) diff --git a/app/views/contents/courseware/courseware.php b/app/views/contents/courseware/courseware.php index 338c6b2c7bd..683f07e4748 100644 --- a/app/views/contents/courseware/courseware.php +++ b/app/views/contents/courseware/courseware.php @@ -5,6 +5,7 @@ entry-type="users" entry-id="<?= htmlReady($user_id) ?>" unit-id="<?= htmlReady($unit_id) ?>" + oer-enabled='<?= htmlReady($oer_enabled) ?>' licenses='<?= htmlReady($licenses) ?>' > </div> diff --git a/app/views/contents/courseware/shared_content_courseware.php b/app/views/contents/courseware/shared_content_courseware.php index 05ed3cc0fbf..f9590593b15 100755 --- a/app/views/contents/courseware/shared_content_courseware.php +++ b/app/views/contents/courseware/shared_content_courseware.php @@ -3,6 +3,7 @@ entry-element-id="<?= $entry_element_id ?>" entry-type="sharedusers" entry-id="<?= $entry_element_id ?>" + oer-enabled='<?= $oer_enabled ?>' oer-title="<?= Config::get()->OER_TITLE ?>" licenses='<?= $licenses ?>' > diff --git a/app/views/course/courseware/courseware.php b/app/views/course/courseware/courseware.php index 2dadc86a667..1abb48a667f 100644 --- a/app/views/course/courseware/courseware.php +++ b/app/views/course/courseware/courseware.php @@ -5,6 +5,7 @@ entry-type="courses" entry-id="<?= htmlReady(Context::getId()) ?>" unit-id="<?= htmlReady($unit_id) ?>" + oer-enabled='<?= htmlReady($oer_enabled) ?>' licenses='<?= htmlReady($licenses) ?>' > </div> diff --git a/lib/classes/JsonApi/Models/Studip.php b/lib/classes/JsonApi/Models/Studip.php index 1b5aed05124..ce5fa1cfb9f 100644 --- a/lib/classes/JsonApi/Models/Studip.php +++ b/lib/classes/JsonApi/Models/Studip.php @@ -13,8 +13,6 @@ class Studip { $properties = [ new StudipProperty('studip-version', 'Stud.IP-Version', $GLOBALS['SOFTWARE_VERSION']), - new StudipProperty('oer-campus-enabled', 'OERCAMPUS_ENABLED', \Config::get()->OERCAMPUS_ENABLED), - new StudipProperty('oer-enable-suggestions', 'OER_ENABLE_SUGGESTIONS', \Config::get()->OER_ENABLE_SUGGESTIONS), ]; $copyrightDialog = self::getConfigOption('COPYRIGHT_DIALOG_ON_UPLOAD'); diff --git a/resources/vue/components/courseware/CoursewareExportWidget.vue b/resources/vue/components/courseware/CoursewareExportWidget.vue index a6473ca4687..89ecf1cbb83 100644 --- a/resources/vue/components/courseware/CoursewareExportWidget.vue +++ b/resources/vue/components/courseware/CoursewareExportWidget.vue @@ -40,7 +40,7 @@ export default { computed: { ...mapGetters({ context: 'context', - oerCampusEnabled: 'oerCampusEnabled', + oerEnabled: 'oerEnabled', userIsTeacher: 'userIsTeacher', }), canEdit() { @@ -64,7 +64,7 @@ export default { return this.canVisit; }, showOer() { - if (!this.oerCampusEnabled) { + if (!this.oerEnabled) { return false; } diff --git a/resources/vue/components/courseware/CoursewareStructuralElement.vue b/resources/vue/components/courseware/CoursewareStructuralElement.vue index eab4c6a54c2..57bdec9f3d8 100644 --- a/resources/vue/components/courseware/CoursewareStructuralElement.vue +++ b/resources/vue/components/courseware/CoursewareStructuralElement.vue @@ -802,8 +802,7 @@ export default { showSuggestOerDialog: 'showSuggestOerDialog', showPublicLinkDialog: 'showStructuralElementPublicLinkDialog', showRemoveLockDialog: 'showStructuralElementRemoveLockDialog', - oerCampusEnabled: 'oerCampusEnabled', - oerEnableSuggestions: 'oerEnableSuggestions', + oerEnabled: 'oerEnabled', licenses: 'licenses', exportState: 'exportState', exportProgress: 'exportProgress', @@ -1043,9 +1042,9 @@ export default { { id: 5, label: this.$gettext('Lesezeichen setzen'), icon: 'star', emit: 'setBookmark' }, ]; - if (this.oerEnableSuggestions) { + if (this.oerEnabled) { menu.push( - { id: 6, label: this.$gettext('Seite für OER Campus vorschlagen'), icon: 'oer-campus', + { id: 6, label: this.$gettext('Lerninhalt für OER Campus vorschlagen'), icon: 'oer-campus', emit: 'showSuggest' } ); } diff --git a/resources/vue/courseware-index-app.js b/resources/vue/courseware-index-app.js index 5e2ea1ff9a3..f25204bbdd4 100644 --- a/resources/vue/courseware-index-app.js +++ b/resources/vue/courseware-index-app.js @@ -24,6 +24,7 @@ const mountApp = async (STUDIP, createApp, element) => { let entry_id = null; let entry_type = null; let unit_id = null; + let oer_enabled = null; let licenses = null; let elem; @@ -45,6 +46,9 @@ const mountApp = async (STUDIP, createApp, element) => { unit_id = elem.attributes['unit-id'].value; } + if (elem.attributes['oer-enabled'] !== undefined) { + oer_enabled = elem.attributes['oer-enabled'].value; + } // we need a route for License SORM if (elem.attributes['licenses'] !== undefined) { licenses = JSON.parse(elem.attributes['licenses'].value); @@ -115,22 +119,13 @@ const mountApp = async (STUDIP, createApp, element) => { 'sem-classes', 'sem-types', 'terms-of-use', - 'user-data-field', - 'studip-properties' + 'user-data-field' ], httpClient, }), }, }); - axios.get( - STUDIP.URLHelper.getURL('jsonapi.php/v1/studip/properties', {}, true) - ).then(response => { - response.data.data.forEach(prop => { - store.dispatch('studip-properties/storeRecord', prop); - }); - }); - store.dispatch('setUrlHelper', STUDIP.URLHelper); store.dispatch('setUserId', STUDIP.USER_ID); await store.dispatch('users/loadById', {id: STUDIP.USER_ID}); @@ -149,6 +144,7 @@ const mountApp = async (STUDIP, createApp, element) => { store.dispatch('coursewareCurrentElement', elem_id); + store.dispatch('oerEnabled', oer_enabled); store.dispatch('licenses', licenses); store.dispatch('courseware-templates/loadAll'); store.dispatch('loadUserClipboards', STUDIP.USER_ID); diff --git a/resources/vue/store/courseware/courseware.module.js b/resources/vue/store/courseware/courseware.module.js index 89d7da82d7e..0f56e3e7af8 100644 --- a/resources/vue/store/courseware/courseware.module.js +++ b/resources/vue/store/courseware/courseware.module.js @@ -8,6 +8,7 @@ const getDefaultState = () => { context: {}, courseware: {}, currentElement: {}, + oerEnabled: null, licenses: null, // we need a route for License SORM httpClient: null, lastElement: null, @@ -102,6 +103,9 @@ const getters = { currentStructuralElementImageURL(state, getters) { return getters.currentStructuralElement?.relationships?.image?.meta?.['download-url']; }, + oerEnabled(state) { + return state.oerEnabled; + }, licenses(state) { return state.licenses; }, @@ -254,13 +258,6 @@ const getters = { }, progresses(state) { return state.progresses; - }, - - oerCampusEnabled(state, getters, rootState, rootGetters) { - return rootGetters['studip-properties/byId']({ id: 'oer-campus-enabled'}).attributes?.value; - }, - oerEnableSuggestions(state, getters, rootState, rootGetters) { - return getters.oerCampusEnabled && rootGetters['studip-properties/byId']({ id: 'oer-enable-suggestions'}).attributes?.value; } }; @@ -810,6 +807,10 @@ export const actions = { context.commit('coursewareContextSet', id); }, + oerEnabled(context, enabled) { + context.commit('oerEnabledSet', enabled); + }, + licenses(context, licenses) { context.commit('licensesSet', licenses); }, @@ -1419,6 +1420,10 @@ export const mutations = { state.context = data; }, + oerEnabledSet(state, data) { + state.oerEnabled = data; + }, + licensesSet(state, data) { state.licenses = data; }, -- GitLab