From db31dcfd04a43789cba1728db8e0969182cb7880 Mon Sep 17 00:00:00 2001 From: Finn Schneider Date: Wed, 4 Mar 2026 11:25:58 +0100 Subject: course eval nav permissions --- lib/modules/CoreEvaluation.php | 14 ++++++++++++-- 1 file 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()); + } } -- cgit v1.0