aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRon Lucke <lucke@elan-ev.de>2023-09-01 11:27:26 +0000
committerDavid Siegfried <david.siegfried@uni-vechta.de>2023-09-01 11:27:26 +0000
commit185ab4a1919f137e99c72addf98790e0e5f833d2 (patch)
tree2bd12225cb30b561a509df6ff8c7fe2a88c326c3
parent4e01c7be2933ed784872060608cf9be2968e28d1 (diff)
fix #3019
Closes #3019 Merge request studip/studip!2086
-rw-r--r--app/views/contents/courseware/courseware.php1
-rwxr-xr-xapp/views/contents/courseware/shared_content_courseware.php1
-rw-r--r--app/views/course/courseware/courseware.php1
-rw-r--r--lib/classes/JsonApi/Models/Studip.php2
-rw-r--r--resources/vue/components/courseware/CoursewareExportWidget.vue4
-rw-r--r--resources/vue/components/courseware/CoursewareStructuralElement.vue7
-rw-r--r--resources/vue/courseware-index-app.js16
-rw-r--r--resources/vue/store/courseware/courseware.module.js19
8 files changed, 25 insertions, 26 deletions
diff --git a/app/views/contents/courseware/courseware.php b/app/views/contents/courseware/courseware.php
index 683f07e..338c6b2 100644
--- a/app/views/contents/courseware/courseware.php
+++ b/app/views/contents/courseware/courseware.php
@@ -5,7 +5,6 @@
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 f959059..05ed3cc 100755
--- a/app/views/contents/courseware/shared_content_courseware.php
+++ b/app/views/contents/courseware/shared_content_courseware.php
@@ -3,7 +3,6 @@
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 1abb48a..2dadc86 100644
--- a/app/views/course/courseware/courseware.php
+++ b/app/views/course/courseware/courseware.php
@@ -5,7 +5,6 @@
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 ce5fa1c..1b5aed0 100644
--- a/lib/classes/JsonApi/Models/Studip.php
+++ b/lib/classes/JsonApi/Models/Studip.php
@@ -13,6 +13,8 @@ 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 89ecf1c..a6473ca 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',
- oerEnabled: 'oerEnabled',
+ oerCampusEnabled: 'oerCampusEnabled',
userIsTeacher: 'userIsTeacher',
}),
canEdit() {
@@ -64,7 +64,7 @@ export default {
return this.canVisit;
},
showOer() {
- if (!this.oerEnabled) {
+ if (!this.oerCampusEnabled) {
return false;
}
diff --git a/resources/vue/components/courseware/CoursewareStructuralElement.vue b/resources/vue/components/courseware/CoursewareStructuralElement.vue
index b24840e..427d582 100644
--- a/resources/vue/components/courseware/CoursewareStructuralElement.vue
+++ b/resources/vue/components/courseware/CoursewareStructuralElement.vue
@@ -802,7 +802,8 @@ export default {
showSuggestOerDialog: 'showSuggestOerDialog',
showPublicLinkDialog: 'showStructuralElementPublicLinkDialog',
showRemoveLockDialog: 'showStructuralElementRemoveLockDialog',
- oerEnabled: 'oerEnabled',
+ oerCampusEnabled: 'oerCampusEnabled',
+ oerEnableSuggestions: 'oerEnableSuggestions',
licenses: 'licenses',
exportState: 'exportState',
exportProgress: 'exportProgress',
@@ -1042,9 +1043,9 @@ export default {
{ id: 5, label: this.$gettext('Lesezeichen setzen'), icon: 'star', emit: 'setBookmark' },
];
- if (this.oerEnabled) {
+ if (this.oerEnableSuggestions) {
menu.push(
- { id: 6, label: this.$gettext('Lerninhalt für OER Campus vorschlagen'), icon: 'oer-campus',
+ { id: 6, label: this.$gettext('Seite 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 a31686b..587cdb4 100644
--- a/resources/vue/courseware-index-app.js
+++ b/resources/vue/courseware-index-app.js
@@ -24,7 +24,6 @@ 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;
@@ -46,9 +45,6 @@ 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);
@@ -119,13 +115,22 @@ const mountApp = async (STUDIP, createApp, element) => {
'sem-classes',
'sem-types',
'terms-of-use',
- 'user-data-field'
+ 'user-data-field',
+ 'studip-properties'
],
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});
@@ -144,7 +149,6 @@ 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 0f56e3e..89d7da8 100644
--- a/resources/vue/store/courseware/courseware.module.js
+++ b/resources/vue/store/courseware/courseware.module.js
@@ -8,7 +8,6 @@ const getDefaultState = () => {
context: {},
courseware: {},
currentElement: {},
- oerEnabled: null,
licenses: null, // we need a route for License SORM
httpClient: null,
lastElement: null,
@@ -103,9 +102,6 @@ const getters = {
currentStructuralElementImageURL(state, getters) {
return getters.currentStructuralElement?.relationships?.image?.meta?.['download-url'];
},
- oerEnabled(state) {
- return state.oerEnabled;
- },
licenses(state) {
return state.licenses;
},
@@ -258,6 +254,13 @@ 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;
}
};
@@ -807,10 +810,6 @@ export const actions = {
context.commit('coursewareContextSet', id);
},
- oerEnabled(context, enabled) {
- context.commit('oerEnabledSet', enabled);
- },
-
licenses(context, licenses) {
context.commit('licensesSet', licenses);
},
@@ -1420,10 +1419,6 @@ export const mutations = {
state.context = data;
},
- oerEnabledSet(state, data) {
- state.oerEnabled = data;
- },
-
licensesSet(state, data) {
state.licenses = data;
},