aboutsummaryrefslogtreecommitdiff
path: root/lib/modules/CoreEvaluation.php
diff options
context:
space:
mode:
authorFinn Schneider <schneider@data-quest.de>2026-03-04 11:25:58 +0100
committerFinn Schneider <schneider@data-quest.de>2026-03-13 17:25:01 +0000
commitdb31dcfd04a43789cba1728db8e0969182cb7880 (patch)
treed7847a9d59bbd99af74313ab3be57899014e89fd /lib/modules/CoreEvaluation.php
parent348d111fb8275bda4661d156b864ec7621366bae (diff)
course eval nav permissions
Diffstat (limited to 'lib/modules/CoreEvaluation.php')
-rw-r--r--lib/modules/CoreEvaluation.php14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/modules/CoreEvaluation.php b/lib/modules/CoreEvaluation.php
index 1d970d9..622dca8 100644
--- a/lib/modules/CoreEvaluation.php
+++ b/lib/modules/CoreEvaluation.php
@@ -15,7 +15,7 @@ class CoreEvaluation extends CorePlugin implements StudipModuleExtended
public function getManyIconNavigation(array $course_ids, ?string $user_id = null): array
{
- if (!Config::get()->CENTRAL_EVALUATIONS_ENABLE) {
+ if (!$this->isTabActive()) {
return [];
}
@@ -27,7 +27,7 @@ class CoreEvaluation extends CorePlugin implements StudipModuleExtended
*/
public function getTabNavigation($course_id)
{
- if (!Config::get()->CENTRAL_EVALUATIONS_ENABLE) {
+ if (!$this->isTabActive()) {
return null;
}
@@ -68,4 +68,14 @@ class CoreEvaluation extends CorePlugin implements StudipModuleExtended
{
return null;
}
+
+ public function isTabActive(): bool
+ {
+ $evaluation = QuestionnaireEvalAssignment::findOneBySQL(
+ "`course_id` = ? AND `applied` = 1 ORDER BY `startdate`",
+ [Context::getId()]);
+ return PluginManager::getInstance()->getPlugin(CoreEvaluation::class) && $evaluation &&
+ (User::findCurrent()->hasPermissionLevel('tutor', Context::get()) ||
+ $evaluation->startdate <= time());
+ }
}