diff --git a/lib/classes/JsonApi/Routes/Courseware/TasksIndex.php b/lib/classes/JsonApi/Routes/Courseware/TasksIndex.php index f0b2ce9a53af8b869e8c04b04e818977808274fe..26a021c9682052271e9995c07867d91fded6d555 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)); });