diff options
| author | Finn Schneider <schneider@data-quest.de> | 2026-03-04 11:25:58 +0100 |
|---|---|---|
| committer | Finn Schneider <schneider@data-quest.de> | 2026-03-13 17:25:01 +0000 |
| commit | db31dcfd04a43789cba1728db8e0969182cb7880 (patch) | |
| tree | d7847a9d59bbd99af74313ab3be57899014e89fd | |
| parent | 348d111fb8275bda4661d156b864ec7621366bae (diff) | |
course eval nav permissions
| -rw-r--r-- | lib/modules/CoreEvaluation.php | 14 |
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()); + } } |
