From 6a50c2e14a423647ec04e2f8877d17014ea33bf1 Mon Sep 17 00:00:00 2001 From: Marcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de> Date: Tue, 14 Nov 2023 12:40:04 +0100 Subject: [PATCH] Hide not yet active task groups for solvers. --- lib/classes/JsonApi/Routes/Courseware/TasksIndex.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/classes/JsonApi/Routes/Courseware/TasksIndex.php b/lib/classes/JsonApi/Routes/Courseware/TasksIndex.php index f0b2ce9a53a..26a021c9682 100644 --- a/lib/classes/JsonApi/Routes/Courseware/TasksIndex.php +++ b/lib/classes/JsonApi/Routes/Courseware/TasksIndex.php @@ -77,9 +77,10 @@ class TasksIndex extends JsonApiController } } - private function findTasksByCourse(\Course $course): \SimpleCollection + private function findTasksByCourse(\Course $course, bool $showNotYetActive = true): \SimpleCollection { - $taskGroups = TaskGroup::findBySQL('seminar_id = ?', [$course->getId()]); + $whereClause = $showNotYetActive ? 'seminar_id = ?' : 'start_date <= UNIX_TIMESTAMP() AND seminar_id = ?'; + $taskGroups = TaskGroup::findBySQL($whereClause, [$course->getId()]); $tasks = []; foreach ($taskGroups as $taskGroup) { @@ -98,7 +99,7 @@ class TasksIndex extends JsonApiController }) ->pluck('id'); - return $this->findTasksByCourse($course)->filter(function ($task) use ($user, $groupIds) { + return $this->findTasksByCourse($course, false)->filter(function ($task) use ($user, $groupIds) { return ('autor' === $task['solver_type'] && $task['solver_id'] === $user->getId()) || ('group' === $task['solver_type'] && in_array($task['solver_id'], $groupIds)); }); -- GitLab