aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2023-08-15 11:25:56 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2023-08-15 11:25:56 +0000
commitb8cb95a5b4e203f178f4e31c50e951242d25d86b (patch)
treed9b40843f949f1aa15e24cbc5242deda1ee6021c
parentf432e2ecac0eb0a524238c4b74f3305d1625187f (diff)
don't offer OER actions when module is disabled, fixes #2769
Closes #2769 Merge request studip/studip!2027
-rw-r--r--app/controllers/contents/courseware.php8
-rw-r--r--app/controllers/course/courseware.php3
-rw-r--r--app/views/contents/courseware/courseware.php2
-rw-r--r--app/views/course/courseware/courseware.php2
-rw-r--r--resources/vue/components/courseware/CoursewareExportWidget.vue6
-rw-r--r--resources/vue/components/courseware/CoursewareStructuralElement.vue9
6 files changed, 19 insertions, 11 deletions
diff --git a/app/controllers/contents/courseware.php b/app/controllers/contents/courseware.php
index 61b5115..0183655 100644
--- a/app/controllers/contents/courseware.php
+++ b/app/controllers/contents/courseware.php
@@ -23,6 +23,7 @@ class Contents_CoursewareController extends CoursewareController
$this->user = $GLOBALS['user'];
$this->licenses = $this->getLicenses();
+ $this->oer_enabled = Config::get()->OERCAMPUS_ENABLED && $GLOBALS['perm']->have_perm(Config::get()->OER_PUBLIC_STATUS);
$this->unitsNotFound = Unit::countBySql('range_id = ?', [$this->user->id]) === 0;
}
@@ -61,7 +62,7 @@ class Contents_CoursewareController extends CoursewareController
*/
public function courseware_action($unit_id = null): void
{
- global $perm, $user;
+ global $user;
Navigation::activateItem('/contents/courseware/courseware');
if ($this->unitsNotFound) {
@@ -297,7 +298,7 @@ class Contents_CoursewareController extends CoursewareController
*/
public function shared_content_courseware_action($entry_element_id): void
{
- global $perm, $user;
+ global $user;
$navigation = new Navigation(_('Geteiltes Lernmaterial'), 'dispatch.php/contents/courseware/shared_content_courseware/' . $entry_element_id);
Navigation::addItem('/contents/courseware/shared_content_courseware', $navigation);
@@ -320,9 +321,6 @@ class Contents_CoursewareController extends CoursewareController
$this->user_id = $struct->owner_id;
-
- $this->oer_enabled = Config::get()->OERCAMPUS_ENABLED && $perm->have_perm(Config::get()->OER_PUBLIC_STATUS);
-
$this->setCoursewareSidebar();
}
}
diff --git a/app/controllers/course/courseware.php b/app/controllers/course/courseware.php
index 29c48d9..46419a8 100644
--- a/app/controllers/course/courseware.php
+++ b/app/controllers/course/courseware.php
@@ -31,6 +31,7 @@ class Course_CoursewareController extends CoursewareController
object_set_visit_module($this->studip_module->getPluginId());
$this->last_visitdate = object_get_visit(Context::getId(), $this->studip_module->getPluginId());
$this->licenses = $this->getLicenses();
+ $this->oer_enabled = Config::get()->OERCAMPUS_ENABLED && $GLOBALS['perm']->have_perm(Config::get()->OER_PUBLIC_STATUS);
$this->unitsNotFound = Unit::countBySql('range_id = ?', [Context::getId()]) === 0;
}
@@ -42,7 +43,7 @@ class Course_CoursewareController extends CoursewareController
public function courseware_action($unit_id = null): void
{
- global $perm, $user;
+ global $user;
Navigation::activateItem('course/courseware/unit');
if ($this->unitsNotFound) {
PageLayout::postMessage(MessageBox::info(_('Es wurde kein Lernmaterial gefunden.')));
diff --git a/app/views/contents/courseware/courseware.php b/app/views/contents/courseware/courseware.php
index ba4a48e..683f07e 100644
--- a/app/views/contents/courseware/courseware.php
+++ b/app/views/contents/courseware/courseware.php
@@ -5,7 +5,7 @@
entry-type="users"
entry-id="<?= htmlReady($user_id) ?>"
unit-id="<?= htmlReady($unit_id) ?>"
- oer-enabled='<?= htmlReady(Config::get()->OERCAMPUS_ENABLED) ?>'
+ oer-enabled='<?= htmlReady($oer_enabled) ?>'
licenses='<?= htmlReady($licenses) ?>'
>
</div>
diff --git a/app/views/course/courseware/courseware.php b/app/views/course/courseware/courseware.php
index 5440c97..1abb48a 100644
--- a/app/views/course/courseware/courseware.php
+++ b/app/views/course/courseware/courseware.php
@@ -5,7 +5,7 @@
entry-type="courses"
entry-id="<?= htmlReady(Context::getId()) ?>"
unit-id="<?= htmlReady($unit_id) ?>"
- oer-enabled="<?= htmlReady(Config::get()->OERCAMPUS_ENABLED) ?>"
+ oer-enabled='<?= htmlReady($oer_enabled) ?>'
licenses='<?= htmlReady($licenses) ?>'
>
</div>
diff --git a/resources/vue/components/courseware/CoursewareExportWidget.vue b/resources/vue/components/courseware/CoursewareExportWidget.vue
index c8baa4f..89ecf1c 100644
--- a/resources/vue/components/courseware/CoursewareExportWidget.vue
+++ b/resources/vue/components/courseware/CoursewareExportWidget.vue
@@ -64,11 +64,15 @@ export default {
return this.canVisit;
},
showOer() {
+ if (!this.oerEnabled) {
+ return false;
+ }
+
if (this.context.type === 'users') {
return true;
}
- return this.oerEnabled && this.userIsTeacher && this.canVisit
+ return this.userIsTeacher && this.canVisit;
}
},
methods: {
diff --git a/resources/vue/components/courseware/CoursewareStructuralElement.vue b/resources/vue/components/courseware/CoursewareStructuralElement.vue
index 3ee6ca2..40c43d7 100644
--- a/resources/vue/components/courseware/CoursewareStructuralElement.vue
+++ b/resources/vue/components/courseware/CoursewareStructuralElement.vue
@@ -1030,10 +1030,15 @@ export default {
let menu = [
{ id: 4, label: this.$gettext('Informationen anzeigen'), icon: 'info', emit: 'showInfo' },
{ id: 5, label: this.$gettext('Lesezeichen setzen'), icon: 'star', emit: 'setBookmark' },
- { id: 6, label: this.$gettext('Lerninhalt für OER Campus vorschlagen'), icon: 'oer-campus',
- emit: 'showSuggest' }
];
+ if (this.oerEnabled) {
+ menu.push(
+ { id: 6, label: this.$gettext('Lerninhalt für OER Campus vorschlagen'), icon: 'oer-campus',
+ emit: 'showSuggest' }
+ );
+ }
+
if (!document.documentElement.classList.contains('responsive-display')) {
menu.push(
{ id: 7, label: this.$gettext('Als Vollbild anzeigen'), icon: 'screen-full',